J'ai deux tâches cron pour run
php
service en même temps.
Une seule commande run
s'exécute correctement
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
Cela signifie probablement que le conteneur est créé entre le moment où nous vérifions la disponibilité et le moment où nous émettons réellement la commande create
. Une solution serait d'exécuter ces deux tâches à des moments légèrement différents (un intervalle de 5 secondes suffirait probablement)
Je rencontre également cela en exécutant docker-compose up foo bar
& docker-compose up baz bar
programmation dans différents onglets tmux. Il semble que si la création échoue, il devrait réexécuter la vérification et tenter (attendre et) s'attacher.
Cas de reproduction très simple :
➤ 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
Dans mon cas, le problème est un CI qui déclenche des travaux parallèles en fonction de son calendrier interne. C'est très triste de devoir pirater cette planification juste à cause de cela.