Je reçois l'erreur suivante lors de l'étape "test_image" lors de l'exécution de tests sur les images docker dans mon pipeline CI gitlab. Je ne peux pas le reproduire localement, il ne se produit que sur la boîte du coureur gitlab. Des idées?Le nom du conteneur est déjà utilisé par le conteneur - gitlab ci
Le nom du conteneur "/ common_run_1" est déjà utilisé par conteneur
image: docker:latest
stages:
- build
- test
- release
before_script:
- docker login -u gitlab-ci-token -p $CI_BUILD_TOKEN myregistry.gitlab
build_image:
stage: build
script:
- docker build --pull -t $CONTAINER_TEST_IMAGE .
- docker-compose up -d --build
- docker push $CONTAINER_TEST_IMAGE
pylint:
stage: test
script:
- docker pull $CONTAINER_TEST_IMAGE
- docker-compose run common pylint common
test_image:
stage: test
script:
- docker pull $CONTAINER_TEST_IMAGE
- docker-compose run common nosetests common
push_master_image:
stage: release
script:
- docker pull $CONTAINER_TEST_IMAGE
- docker tag $CONTAINER_TEST_IMAGE $CONTAINER_MASTER_IMAGE
- docker push $CONTAINER_MASTER_IMAGE
only:
- master
push_prod_image:
stage: release
script:
- docker pull $CONTAINER_TEST_IMAGE
- docker tag $CONTAINER_TEST_IMAGE $CONTAINER_PROD_IMAGE
- docker push $CONTAINER_PROD_IMAGE
only:
- prod
Mise à jour: Il y a plusieurs suggestions d'utiliser simplement "docker-Compose vers le bas" ou "arrêt docker". Je l'ai fait sur ma boîte gitlab-runner (processus docker, images, volumes et réseaux complètement nettoyés), et j'ai soumis de nouveau la requête de pipeline. Dans ce cas, j'obtiens la même erreur dans le pipeline gitlab. Cela me fait penser qu'il y a un problème de concurrence à l'étape du «test». De plus, si j'ajoute une étape "test2" et y place le script "pylint", le pipeline réussira, renforçant encore l'idée d'un problème de simultanéité.
J'ai mis à jour ma réponse! Vérifiez s'il vous plaît! – Ayushya