Comment reconstruire docker conteneur docker-composer.yml?
Il y a de l'étendue des services qui sont définis dans le menu fixe-composer.yml. Ces services ont été lancés. J'ai besoin de reconstruire une seule de ces et de le démarrer sans d'autres services.
Je exécutez les commandes suivantes:
docker-compose up -d # run all services
docker-compose stop nginx # stop only one. but it still running !!!
docker-compose build --no-cache nginx
docker-compose up -d --no-deps # link nginx to other services
À la fin je suis devenue vieille nginx conteneur.
Par la voie docker-composer de ne pas tuer tous les récipients !
docker-compose up --build
Vous devez vous connecter pour publier un commentaire.
docker-composer jusqu'
docker-compose build service1 service2 --no-cache
fait ce travail mieux (github.com/docker/compose/issues/1049). J'ai eu des problème avec le cache conteneurs qui ont été construits avant à l'aide dedocker-compose up -d --no-deps --build <service_name>
docker-compose build --no-cache service1 service2
Avec docker-composer 1.19
À partir du menu aide
docker-compose up -d --force-recreate --build container_name
Cela devrait résoudre votre problème:
stop
etrm
tous les conteneurs ensuite, vous pouvez utiliser la commandedocker-compose down
. Votre solution est préférable si vous voulez seulement de se débarrasser de certains.Comme @HarlemSquirrel posté, il est le meilleur et je pense que la bonne solution.
Mais, pour répondre à l'OP problème spécifique, il doit être quelque chose comme la commande suivante, qu'il ne veut pas de recréer TOUS les services de la
docker-compose.yml
fichier, mais seulement langinx
un:Options description:
Le problème est:
ne fonctionne pas (vous avez dit, il est toujours en cours d'exécution). Si vous allez à la reconstruction de toute façon, vous pouvez essayer de le tuer:
Si cela ne fonctionne toujours pas, essayez de l'arrêter avec menu fixe directement:
ou de le supprimer
Si cela ne fonctionne toujours pas, vérifiez votre version de docker, vous pouvez mettre à niveau.
Il peut-être un bug, vous pouvez vérifier si l'un correspond à votre système/version. Voici un couple, par ex:
https://github.com/docker/docker/issues/10589
https://github.com/docker/docker/issues/12738
Comme une solution de contournement, vous pouvez essayer de tuer le processus.
Seulement: