Omnikit
المطورونالملفاتالمالجميع الأدوات
Ctrl K
أدوات المطورينأدوات الملفاتالحاسبات الماليةجميع الأدوات
الرئيسيةأدوات المطورينتحويل docker run إلى docker compose
EnglishالعربيةবাংলাDeutschEspañolFrançaisPolskiPortuguêsРусский

تحويل docker run إلى docker compose

مطورون

حوّل أوامر docker run إلى ملف compose.yaml: المنافذ ووحدات التخزين والشبكات وفحوص السلامة

يعمل في متصفحك. لا يُرسل أي شيء تكتبه إلى أي مكان. تم التحقق في 16 أكتوبر 2026.

لكل خيار في docker run مفتاح مقابل في Compose. تبقى الصورة في image، وتُنقل 5 خيارات شائعة مباشرة: يصبح -p هو ports، و-e هو environment، و-v هو volumes، و--restart هو restart، و--name هو container_name، بينما يقابل -it المفتاحين stdin_open وtty. أما خيارات مثل -d و--rm فلا مقابل لها، لأن docker compose up -d يشغّل الخدمات في الخلفية.

تُرجمت هذه الصفحة آليًا من الأصل الإنجليزي. لم يراجع أي شخص هذه الترجمة بعد، لذا فالنسخة الإنجليزية هي التي يُعتمد عليها. اقرأ الأصل الإنجليزي

التالي:
  • Nginx Config Generator A commented nginx server block for a reverse proxy, static site, SPA or redirect
  • مدقق Dockerfile افحص ملف Dockerfile وفق 55 قاعدة من hadolint: الإصدارات المثبتة ومستخدم root وذاكرة التخزين المؤقت والمزيد

كيفية تحويل أمر docker run إلى docker compose

1

الصق أمر docker run واحدًا أو أكثر، بما في ذلك فواصل الأسطر بالشرطة المائلة العكسية، أو انقر على جرّب مثالًا.

2

اقرأ ملف compose.yaml على اليمين: خدمة واحدة لكل أمر، مع إعلان وحدات التخزين والشبكات في الأسفل.

3

راجع الملاحظات الخاصة بالخيارات التي لا مقابل لها في Compose، مثل --rm.

4

انقر على تنزيل لحفظ compose.yaml، ثم شغّل docker compose up -d في المجلد نفسه.

حول Docker Run to Compose Converter

أمر docker run الذي يعمل هو أفضل نقطة انطلاق لملف Compose، لكن إعادة كتابة 10 خيارات يدويًا تفتح الباب للأخطاء. الصق الأمر، أو عدة أوامر، واحصل على ملف compose.yaml فيه خدمة لكل أمر، وفق Compose Specification، ليعمل مع docker compose up -d.

docker run compose.yaml
--name web container_name: web
-p 8080:80 ports: ["8080:80"]
-e KEY=value environment: ["KEY=value"]
-v data:/data volumes: مع data: في المستوى الأعلى
--network shop-net networks: مع shop-net: external: true
--restart unless-stopped restart: unless-stopped
-it stdin_open: true، tty: true
--gpus all deploy.resources.reservations.devices

ما الذي يُفهم. أكثر من 70 خيارًا من خيارات docker run، بكل صيغة تقبلها Docker CLI: --flag value و--flag=value و-p80:80 والخيارات القصيرة المجمّعة مثل -it أو -dp 3000:3000. تُدمج الأوامر المقسّمة على عدة أسطر باستخدام \ (bash) أو ^ (cmd) أو ` (PowerShell)، وتُقرأ علامات الاقتباس كما تقرؤها الصدفة، ويصبح $(pwd) في وحدة التخزين ./، لأن Compose يحلّ المسارات انطلاقًا من مجلد ملف Compose.

عدة أوامر دفعة واحدة. الصق نص إعداد كاملًا: يصبح كل docker run خدمة، وتُتخطى الأوامر الأخرى مثل docker network create، وتحصل الخدمات التي تتشارك الصورة نفسها على أسماء مختلفة.

لا شيء مخفي. الخيارات التي لا مقابل لها في Compose، مثل --rm و-d، وأي خيار لا تعرفه الأداة، تُدرج أسفل النتيجة بدلًا من أن تختفي. توضع المنافذ وقيم البيئة بين علامات اقتباس، حتى لا يفسّر أي قارئ YAML القيمة 22:22 على أنها رقم. لا يحتوي الملف على المفتاح version:، الذي جعلته Compose Specification متقادمًا.

كل شيء يعمل في متصفحك؛ والأوامر التي تلصقها، والتي كثيرًا ما تحتوي على كلمات مرور، لا تُرسل إلى أي مكان.

الأسئلة الشائعة

كيف أحوّل أمر docker run إلى docker compose؟

امنح كل خيار مفتاحه في Compose داخل خدمة: الصورة في image، و-p في ports، و-e في environment، و-v في volumes، و--name في container_name، و--restart في restart. وتحصل وحدات التخزين المسمّاة والشبكات المخصصة أيضًا على إدخال في المستوى الأعلى. عند لصق الأمر هنا يُكتب ملف compose.yaml كاملًا، جاهزًا لـ docker compose up -d.

إلامَ يتحوّل -it و-d في docker compose؟

يصبح الخيار -i هو stdin_open: true ويصبح -t هو tty: true، لذا يضبط -it كليهما. أما الخيار -d فلا مفتاح له، لأن docker compose up -d يشغّل كل خدمة في الخلفية. للاتصال لاحقًا بخدمة قيد التشغيل، استخدم docker compose attach أو docker compose exec مع اسم الخدمة.

ماذا يحدث لـ --rm في docker compose؟

لا شيء في الملف: خدمات Compose مصممة لتبقى، لذا لا يوجد مفتاح يحذف الحاوية عند توقفها. لمهمة لمرة واحدة، شغّل docker compose run --rm مع اسم الخدمة، فتُزال تلك الحاوية بعد انتهائها. وتوضّح الملاحظة أسفل النتيجة متى حُذف --rm.

لماذا وُسمت الشبكة بـ external: true؟

يستخدم docker run مع --network shop-net شبكة موجودة مسبقًا. ووسمها بـ external يخبر Compose بالانضمام إلى تلك الشبكة بدلًا من إنشاء شبكته الخاصة، حتى تظل الحاويات التي شُغّلت بالطريقتين قادرة على التواصل. إذا أردت أن ينشئ Compose الشبكة ويديرها بنفسه، فاحذف السطر external: true.

هل يجب وضع المنافذ بين علامات اقتباس في ملف Compose؟

نعم، اكتب المنافذ كسلاسل نصية مثل "8080:80". بعض قارئات YAML تعامل رقمين يفصل بينهما نقطتان رأسيتان كرقم في النظام الستيني، فقد تصبح 22:22 هي 1342 وتعطّل ربط منفذ SSH. تضع هذه الأداة كل منفذ وكل إدخال بيئة وكل سلسلة لوحدة تخزين بين علامات اقتباس، حتى يحمل الملف المعنى نفسه في كل مكان.

هل ما زال docker compose يحتاج إلى المفتاح version؟

لا. جعلت Compose Specification المفتاح version: متقادمًا، وتُظهر الإصدارات الحديثة من docker compose تحذيرًا عند وجوده. تبدأ الملفات المُنشأة هنا مباشرة بـ services:، يليها volumes: وnetworks: عندما تستخدم الأوامر وحدات تخزين مسمّاة أو شبكات مخصصة.

المصادر

  • Docker Docs, docker container run (CLI reference)Every docker run flag and its meaning
  • Docker Docs, Compose file reference: servicesThe Compose key each flag maps to
  • Docker Docs, Compose file reference: volumesNamed volumes declared at the top level
  • Docker Docs, Compose file reference: networksExternal networks
  • POSIX.1-2024 Shell Command Language, 2.2 Quoting (The Open Group)How the pasted command is split into words

آخر تحقق في 16 أكتوبر 2026.

تتغير المعدلات والقواعد؛ راجع المصدر قبل الاعتماد على أي رقم.

هل ما زلت عالقًا؟ اسأل عن تحويل docker run إلى docker compose ويمكن لأي شخص يعرف الإجابة أن يجيب. لا حاجة إلى حساب.

أدوات ذات صلة

جميع أدوات المطورين
ترميز Base64 وفك ترميزهالنصوص والملفات إلى Base64 والعكس، مع وضع آمن لعناوين URL ومعاينة للصورمحوّل الطابع الزمني Unixمن الطوابع الزمنية Unix إلى تواريخ ومن التواريخ إلى طوابع زمنية، بأي منطقة زمنيةتحويل JSON إلى TypeScriptأنشئ واجهات أو أنواع TypeScript من عيّنة JSONتحويل CSV إلى JSONحوّل CSV إلى JSON وJSON إلى CSV، مع معاينة جدولتحويل YAML إلى JSONحوّل YAML إلى JSON وJSON إلى YAML، مع حلّ المراسيترميز عناوين URL وفك ترميزهارمّز النصوص وعناوين URL بالترميز المئوي أو فكّها، واعرض كل جزء من الرابطمحوّل أنظمة الأعدادالثنائي والثماني والعشري والست عشري وأي أساس حتى 36، بدقة تامة مهما كان الحجم، مع المتمم الثنائيColor ConverterHEX, RGB, HSL, HWB, OKLCH and CMYK in both directions, with a contrast check
هل كانت هذه الأداة مفيدة؟
Omnikit

مهام صغيرة تُنجز في متصفحك. مجانية وسريعة وخاصة. لا تُرفع الملفات أبدًا.

الملفات

  • Compress Image
  • Image to PDF
  • Merge PDF
  • Compress PDF
  • PDF to Word
  • Word to PDF

المطورون

  • JSON Formatter & Validator
  • Base64 Encode & Decode
  • JWT Decoder, Verifier & Encoder
  • Password Generator
  • UUID Generator
  • Unix Timestamp Converter

المال

  • SIP Calculator
  • EMI Calculator
  • GST Calculator
  • FD Calculator
  • PPF Calculator
  • Lumpsum Calculator
EnglishالعربيةবাংলাDeutschEspañolFrançaisPolskiPortuguêsРусский
الأدلةالأسئلةمن نحنكيف نتحققمكتبة القوانين (تجريبية)الخصوصيةالشروطالإفصاحاتصل بناMore: Exam practice (UGC NET Paper 1)يعمل في متصفحك. لا يُرفع أي شيء. © 2026 Omnikit (theomnikit.com)