تخطَّ إلى المحتوى
ToolMug

docker run إلى Docker Compose

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

يعمل في متصفحك — لا يُرفع أي شيء تُدخله

docker run → Docker Compose
docker run
Docker Compose

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

  1. الصق أوامر docker run على اليسار. تعمل الأوامر متعددة الأسطر بشرطة مائلة عكسية زائدة؛ افصل عدة أوامر بأسطر جديدة أو فواصل منقوطة أو &&.
  2. يظهر ملف Compose على اليمين. يصبح كل أمر خدمة باسم --name، أو باسم الصورة إن لم يوجد.
  3. راجع الملاحظة الصفراء لأي شيء لم يُحوَّل، ثم انسخ compose.yaml أو نزّله وشغّل docker compose up -d.

شرح الخيارات

الأعلام المدعومة
-p، -v، --mount، -e، --env-file، --name، --restart، --network، -w، -u، -h، --entrypoint، -l، --add-host، --dns، --cap-add/drop، --device، -m، --cpus، --shm-size، --ulimit، --log-driver/--log-opt، --health-*، -i، -t، --privileged، --init، --read-only، والمزيد.
المجلدات والشبكات المسماة
تُعرَّف المجلدات المسماة (مثل pgdata:/data) ضمن volumes في المستوى الأعلى. تُعرَّف الشبكات المخصصة بـexternal true، أي استخدام شبكة موجودة مسبقًا. تصبح شبكتا host وnone بمثابة network_mode.
المنافذ
تُوضَع تعيينات المنافذ دائمًا بين علامتي اقتباس. تقرأ YAML 1.1 قيمًا مثل 22:22 كأرقام بالأساس 60، وتوصي وثائق Docker بكتابة المنافذ كنصوص.
الأعلام المُتجاهَلة
لا يوجد مكافئ لـ-d و--rm في Compose، فتُحذَفان. تُدرَج الأعلام غير المدعومة مثل --gpus في الملاحظة.

مثال

docker run -d --name web --restart unless-stopped -p 8080:80 \
  -v ./html:/usr/share/nginx/html:ro -e TZ=Asia/Shanghai --memory 512m nginx:1.27

يصبح:

services:
  web:
    image: nginx:1.27
    container_name: web
    restart: unless-stopped
    mem_limit: 512m
    ports:
      - "8080:80"
    environment:
      - TZ=Asia/Shanghai
    volumes:
      - ./html:/usr/share/nginx/html:ro

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

هل يحتاج الملف إلى سطر إصدار؟

لا. لم يعد Docker Compose الحالي (v2) يستخدم حقل version في المستوى الأعلى؛ وإن وُجد، يُتجاهل مع تحذير.

هل تُرفع كلمات المرور في متغيرات بيئتي؟

لا. يحدث التحليل والتحويل في متصفحك ولا يُرسَل شيء إلى خادم.

هل يتعامل مع المعطيات المُقتبَسة؟

نعم. تتبع علامات الاقتباس المفردة والمزدوجة وهروبات الشرطة المائلة العكسية قواعد الصدفة، لذا يحافظ -e "MSG=hello world" على القيمة كاملة.

الخصوصية

تعمل هذه الأداة بالكامل داخل متصفحك. تُعالَج ملفاتك ونصوصك على جهازك ولا تُرفع أبدًا إلى خوادمنا.

أدوات ذات صلة