
Se eu fizer alterações no meu docker-compose.yml
(por exemplo, alterar em qual porta do host uma porta de contêiner está exposta), posso recriar esse único contêiner ou preciso reiniciar a pilha inteira?
docker-compose stop ; docker-compose up
fará o trabalho, mas quero evitar reiniciar o restante dos serviços. Também quero evitar a exclusão de volumes associados ao serviço que estou reiniciando, portanto docker-compose kill <service> ; docker-compose rm
não é uma opção.
Responder1
Apenas corra docker-compose up
novamente. Tudo o que for impactado pela sua mudança (container, volume, rede, etc.) vai ser recriado, os demais containers ficarão.
Se você quiser usar imagens mais recentes, execute docker-compose pull
antes.
Responder2
Às vezes, as alterações em algum arquivo env são ignoradas. Então eu faço
docker stop mycontainer
docker compose up
isso reiniciará o contêiner único e os contêineres dependentes, que é o que você faz. Evitar reiniciar contêineres dependentes é uma má ideia, porque mycontainer
surgirá um IP do docker diferente
ter algum tipo de reload
comando seria bom