Recrie um único contêiner docker-compose com nova configuração

Recrie um único contêiner docker-compose com nova configuração

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 upfará 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 rmnão é uma opção.

Responder1

Apenas corra docker-compose upnovamente. 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 pullantes.

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 mycontainersurgirá um IP do docker diferente

ter algum tipo de reloadcomando seria bom

informação relacionada