يبدو أن ملف الإرساء الخاص بي يبني بشكل صحيح (يخبرني بذلك). عند تشغيل الحاوية ، أحصل على رسالة الخطأ أدناه. لقد حاولت تشغيل الأوامر (CMD) مع وبدون دليل الخدمة.
crontab.sh يكتب أساسا جدول كرون إلى ملف نصي (cron.jobs) ثم يستورد الملف النصي إلى كرونتاب.
كما أوضحت الإجابات الأخرى بالفعل ، واحد فقط CMD سيتم تشغيل كل دوكيرفيل والأمر الذي تريد تشغيله خاطئ.
ولكن هناك مشكلة أكثر إلحاحا مع الإعداد الخاص بك إيمو - حاويات عامل الميناء ليست مصممة عادة للعمل بهذه الطريقة. ما يجب عليك فعله بدلا من ذلك هو تشغيل خدمات كرون من المضيف (أو المنسق الخاص بك) كعمليات لمرة واحدة (ربما باستخدام شيء مثل docker run أو docker-compose run، أو ، إذا كنت لا تريد لسبب ما بدء حاوية منفصلة لهذا ، أعتقد أنه يمكنك استخدام docker exec).
هذا هو مجرد وجهة نظري حول كيفية استخدام الحاويات على الرغم من ذلك ، لذلك من الواضح يجب أن أعتبر مع حبة الملح.
إذا قمت بإضافة هذا إلى /etc/crontab، وهذا لن تظهر في كرونتاب الشخصية الجذر ، وهذا يحتوي فقط على كرونتاب المستخدم محددة تحريرها مع crontab -e، وليس على نطاق المنظومة في /etc.
مزيد من التفاصيل:
تخميني هو أن /pulse/crontab.sh (التي لا تظهر, لماذا ا?) يضيف خط كرونتاب ذات الصلة إلى ملف كرونتاب على نطاق النظام /etc/crontab. يمكنك تنفيذ الأمر لاحقا crontab -l، ولكن هذا يظهر خطأ فقط لأنه يسرد roots الشخصية كرونتاب فقط (الذي يحدث أن تكون فارغة) ، وليس واحد على مستوى النظام في /etc/crontab. هذا هو كل شيء طبيعي تماما والمتوقع. لإظهار الخط وأضاف السيناريو الخاص بك ، يمكنك استبدال CMD crontab -l مع CMD cat /etc/crontab.
كل هذا ليس له أي شيء مع أي أوامر دوكيرفيل مثل ADD, RUN أو CMD، انها مجرد الاشياء الأساسية لينكس.