مطور / Docker

محول docker run إلى Docker Compose

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

محول docker run إلى Docker Compose: يُقسّم الأمر بالطريقة التي تستخدمها الصدفة، مع التعامل مع علامات الاقتباس ومحارف الهروب، ثم يطابق كل خيار مع مفتاح Compose المناسب: -p مع ports، و-v و--mount مع volumes، و-e مع environment، و--restart، و--network، و--health-cmd مع healthcheck، و--gpus مع حجز جهاز، ونحو أربعين خيارًا آخر. تحصل وحدات التخزين والشبكات المسماة على إدخالاتها ذات المستوى الأعلى. تتحول الأوامر المتعددة إلى خدمات متعددة في ملف واحد. وتُدرج الخيارات التي لا مقابل لها في Compose بدل إسقاطها من دون توضيح. يعمل 100% محليًا في المتصفح، من دون رفع أي ملفات إلى الخادم.

مرات التشغيل
في المتصفح
التكلفة
مجاني · بلا تسجيل
التوفر
جاهز للاستخدام
تحويل docker run إلى Composeمعالجة محلية

تعمل بالكامل في المتصفح

compose.yaml

services:
  db:
    image: postgres:16
    container_name: db
    environment:
      - POSTGRES_PASSWORD=change-me
    volumes:
      - pgdata:/var/lib/postgresql/data
    ports:
      - 5432:5432
    restart: unless-stopped
volumes:
  pgdata:

بعد التحويل

شغّل docker compose config للتحقق من الملف وعرضه بعد تعبئة القيم الافتراضية، ثم شغّل docker compose up -d لبدئه. ثبّت إصدارات الصور، مثل postgres:16 بدلًا من latest، حتى لا تؤدي إعادة التشغيل إلى ترقية قاعدة البيانات على نحو مفاجئ.

لقراءة الملف بتنسيق آخر، حوّله باستخدام YAML إلى JSON؛ وللمهام المجدولة في الحاويات، يقرأ شرح cron تعبيرات cron.

وحدات التخزين والبيانات

تُدار وحدة التخزين المسماة، مثل pgdata، بواسطة Docker وتبقى بعد تنفيذ docker compose down؛ أما المسار مثل ./data فهو مجلد على المضيف. انسخ وحدات التخزين المسماة احتياطيًا قبل إزالتها باستخدام docker compose down -v، فهذا الأمر يحذفها.

طريقة الاستخدام

  1. ألصق أمرًا واحدًا أو أكثر من أوامر docker run؛ ويمكن استخدام مواصلة السطر بالشرطة المائلة العكسية.
  2. اقرأ ملف compose.yaml وأي خيارات تعذّر تحويلها.
  3. انسخ الملف أو نزّله، أو بدّل الاتجاه لتحويل ملف Compose إلى أوامر docker run.

الخصوصية والقيود

تعمل الأداة بالكامل في المتصفح؛ ولا تُرفع أوامرك، التي قد تتضمن كلمات مرور، إلى أي مكان.

أدوات ذات صلة

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

لماذا أستخدم Compose بدلًا من docker run؟

يسجل ملف Compose الإعداد بالكامل في مكان واحد يمكن قراءته وإدارته بإصداراته وتشغيله باستخدام docker compose up، بدلًا من الاحتفاظ بأوامر طويلة في سجل الصدفة. كما يشغّل عدة حاويات مع شبكاتها ووحدات تخزينها معًا.

ماذا يحدث للخيارين --rm و-d؟

لا يملك Compose خيار --rm؛ تُزال الحاويات باستخدام docker compose down. ويُحدَّد الخيار -d عند تشغيل docker compose up -d، لذلك لا يكون جزءًا من الملف.

لماذا تُعلَّم الشبكات بأنها خارجية؟

يستخدم docker run --network شبكة موجودة مسبقًا، لذلك يشير الملف المحوّل إليها بالطريقة نفسها. أزل external: true إذا أردت أن ينشئ Compose الشبكة بنفسه.

هل ينبغي الاحتفاظ بكلمات المرور في الملف؟

يُفضَّل استخدام env_file مع إبقائه خارج نظام إدارة الإصدارات، أو استخدام أسرار Docker، لكلمات المرور والمفاتيح. يحتفظ المحول بما كان موجودًا في الأمر، لذا راجع قسم البيئة قبل إيداع الملف.

أداة مجانية · عدد مرات الاستخدام في المتصفح · لا يتطلب حسابًا