لديّ اثنين من cronjob مقابل خدمة run
php
في نفس الوقت.
أمر واحد فقط run
تنفيذه بشكل صحيح
Cannot create container for service php: Conflict. The container name "/folder_php_run_1" is already in use by container {hashhere}. You have to remove (or rename) that container to be able to reuse that name.
Command exited with non-zero status 1
ربما يعني ذلك أنه يتم إنشاء الحاوية بين الوقت الذي نتحقق فيه من التوفر والوقت الذي نصدر فيه الأمر create
. سيكون الحل هو تشغيل هاتين الوظيفتين في أوقات مختلفة قليلاً (من المحتمل أن تكون فترة 5 ثوانٍ كافية)
لقد واجهت هذا أيضًا من خلال تشغيل docker-compose up foo bar
& docker-compose up baz bar
برمجيًا في علامات تبويب tmux مختلفة. يبدو أنه في حالة فشل الإنشاء ، يجب إعادة تشغيل الفحص ومحاولة (الانتظار و) الإرفاق.
حالة استنساخ بسيطة للغاية:
➤ cat docker-compose.yml
version: "2.2"
services:
test:
image: alpine
➤ docker-compose run --rm test true
Creating network "test_default" with the default driver
➤ docker-compose run --rm test docker-compose run --rm test true &; docker-compose run --rm test true
ERROR: Cannot create container for service test: Conflict. The container name "/test_test_run_1" is already in use by container "76db8705667961966468d66d0667417862ad6edb3fb4c09b95a8ebab4ec36bf8". You have to remove (or rename) that container to be able to reuse that name.
Job 4, 'docker-compose run --rm test do…' has ended
في حالتي ، تكمن المشكلة في وجود CI الذي يطلق وظائف متوازية بناءً على جدوله الداخلي. إنه لأمر محزن للغاية أن تضطر إلى اختراق هذا الجدول فقط بسبب هذا.