Compose: service_run_+1

Créé le 31 mars 2017  ·  3Commentaires  ·  Source: docker/compose

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
arerun kinbug

Tous les 3 commentaires

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.

Cette page vous a été utile?
0 / 5 - 0 notes