أدوات المطور · تشغيل Docker إلى محول إنشاء Docker
كيفية تعيين إشارات تشغيل عامل الإرساء لإنشاء المفاتيح: -p، -v، -e، --name والمزيد
· كيف يعمل
عامل ميناء يؤلف سير عمل المطور
تحتوي معظم إشارات تشغيل عامل الإرساء على مكافئ Compose واحد لواحد، والقليل منها ليس لديه أي شيء. يستعرض هذا المنشور عملية التعيين بحيث تتم قراءة تعريف الخدمة المحولة كما هو متوقع.
تشغيل عامل إرساء يلتف ثلاثة أسطر في README - إنه يعمل، ولا يمكن لأحد مراجعته، ويريد الفريق compose.yaml
يمكن أن يبدأ تشغيل عامل إرساء متعدد الأسطر خدمة اليوم مع إخفاء عقد التشغيل الخاص بها في اسم مستعار لـ Shell أو README. يقوم ملف الإنشاء بنقل نفس الاختيارات إلى تعريف خدمة قابل للمراجعة، ولكن يجب أن يأخذ التحويل في الاعتبار كل علامة بدلاً من إسقاط إعدادات الأمان بصمت. ToolAcre يوزع الأمر كنص: لا يقوم مطلقًا بتشغيل الصورة أو فتح مقبس Docker أو نشر حاوية. تعامل مع الإخراج كمسودة تكوين لا تزال بحاجة إلى عامل للتحقق من مسارات المضيف وبيانات الاعتماد وافتراضات الشبكة.
شكل الخدمة - صورة، ثم مجموعة من المفاتيح التي تعكس العلامات، ضمن الخدمات: واسم الخدمة
يبدأ إنشاء YAML ضمن الخدمات:، متبوعًا باسم الخدمة وصورتها:. على عكس سطر الأوامر، تقوم مفاتيحه بتجميع القيم المتكررة مثل المنافذ وإدخالات البيئة في تسلسلات. ToolAcre يستمد اسم خدمة من --name أو الصورة وينشئ نموذجًا قبل إجراء تسلسل YAML. لا تحتاج ملفات الإنشاء الحالية إلى إصدار عالي المستوى: key; إضافة واحد لأن منشور مدونة قديم أظهر أنه سيؤدي إلى إنشاء تحذير قديم بدلاً من تحسين التوافق.
العلامات الشائعة — -p إلى المنافذ، -v إلى وحدات التخزين، -e إلى البيئة، --name إلى اسم_الحاوية، --restart لإعادة التشغيل، --network إلى الشبكات
التعيينات الشائعة تجعل الملف قابلاً للتعرف عليه: -p 8080:80 تصبح منافذ: مع تعيين مقتبس، -v host:container تصبح إدخال وحدات تخزين، -e KEY= تنتقل القيمة إلى البيئة، --name تصبح اسم الحاوية، --restart يصبح إعادة التشغيل ويحتاج --network إلى سياق الشبكة. إن اقتباس تعيين المنفذ مهم لأن YAML يجب أن يتعامل معه كسلسلة، وليس تفسير علامات الترقيم كنوع آخر. قد يتطلب المجلد المسمى إعلانًا خاصًا به عن مجلدات المستوى الأعلى؛ يجب التحقق من تثبيت ربط المضيف على الجهاز الذي سيتم تشغيل Compose فيه.
العلامات الأقل شيوعًا — --hostname، --user، --workdir، --entrypoint، --cap-add، --device، --label، --add-host ومفاتيحها
العلامات مثل --hostname، --user، --workdir، --entrypoint، --cap-add، --device، --label و --add-host لها مفاهيم خدمة مقابلة، ولكن دلالاتها قد تعتمد على وقت التشغيل و host. يجب عدم اختراع --security-opt غير المدعوم كمفتاح ذي مظهر معقول أو التخلص منه بشكل غير مرئي. يسرد ToolAcre تحذيرات تشير إلى خيارات غير مدعومة حتى يتمكن المراجع من إنهاء التعيين يدويًا أو يقرر أن Compose ليس هو البديل الصحيح. إن وجود مفتاح YAML لا يثبت أن الخدمة تبدأ بنفس الامتيازات.
الوسائط الموضعية - الصورة تصبح صورة، وأي شيء بعدها يصبح أمرًا:
اسم الصورة هو وسيطة موضعية بعد التشغيل وخياراتها. تصبح الوسيطات بعد الصورة هي أمر الخدمة، وليس المزيد من إشارات تشغيل Docker؛ يؤدي تحريك الرمز المميز عبر تلك الحدود إلى تغيير البرنامج الذي يستقبله. تعتبر علامات الاقتباس والخطوط المائلة العكسية مهمة أيضًا عند تقسيم مثال README إلى رموز مميزة. المحلل اللغوي ToolAcre ليس مترجمًا للصدفة، لذا يجب مراجعة متغير مثل $HOME في السياق بدلاً من افتراض أنه يتوسع كما هو الحال في الصدفة التفاعلية الأصلية.
مثال عملي: تحويل تشغيل Postgres docker - الأمر الكامل، وتعريف الخدمة الناتج، والمقارنة سطرًا بسطر
خذ بعين الاعتبار تشغيل عامل الإرساء التوضيحي -d --name demo-db -p 5432:5432 -v pgdata:/var/lib/postgresql/data -e POSTGRES_PASSWORD=عرض تجريبي فقط --restart ما لم يتم إيقاف المنشورات:16. ToolAcre ينبعث services.demo-db مع postgres للصورة:16، حاوية_اسم العرض التجريبي db، ومنفذ 5432:5432 المقتبس، ووحدة تخزين pgdata، وإدخال قائمة البيئة، وإعادة التشغيل: ما لم يتم التوقف، وإعلان حجم pgdata عالي المستوى. إنه يحذر من أن -d هو خيار سطر الأوامر؛ يقوم عامل الإرساء بتأليف -d بالتعامل معه. يعد "العرض التوضيحي فقط" عنصرًا نائبًا للتدريس غير آمن عن عمد - لا تلتزم أبدًا بكلمة مرور قاعدة بيانات حقيقية في YAML الذي تم إنشاؤه.
ما لا يغطيه هذا - العلامات التي لا تحتوي على خدمة مكافئة (-d، --rm) والأشياء غير الموجودة في الأمر على الإطلاق، مثل سياقات البناء
ليس كل علامة تشغيل لها نظير دائم لخاصية الخدمة. تتم معالجة -d بواسطة أمر الإنشاء الذي تستدعيه؛ --rm ينتمي إلى تشغيل الإنشاء لمرة واحدة وليس إلى خدمة طويلة الأمد. لا يمكن استنتاج سياق البناء أو المتجر السري أو الإستراتيجية الصحية أو تبعية الخدمات المتعددة الغائبة عن الأمر الأصلي. تقوم الأداة بالإبلاغ عن إشارات غير مدعومة بدلاً من التظاهر بأن مخرجاتها عبارة عن خطة نشر كاملة. اقرأ مرجع خدمة Docker Compose قبل نشر حاوية مميزة أو حساسة للشبكة.
الخلاصة: الإنشاء هو نفس التكوين، وهو منظم - وينتج المحول تعريف الخدمة من الأمر الذي تلصقه
الإنشاء هو نفس التكوين، وهو منظم للمراجعة والتكرار. يوفر لك Docker run to Docker compose converter تعريفًا للخدمة المرشحة في متصفحك ويحافظ على الأمر الملصق محليًا؛ لا يتم تنفيذ Docker. قارن كل علامة مصدر بمفتاح YAML الخاص بها، وعالج التحذيرات وأزل الأسرار من كتل البيئة العادية قبل تطبيق النتيجة على مضيف حقيقي.