
変更を加えた場合docker-compose.yml
(たとえば、コンテナ ポートが公開されるホスト ポートを変更する場合)、その単一のコンテナを再作成できますか。それとも、スタック全体を再起動する必要がありますか。
docker-compose stop ; docker-compose up
目的は達成できますが、残りのサービスの再起動は避けたいです。また、再起動するサービスに関連付けられたボリュームの削除も避けたいので、これはdocker-compose kill <service> ; docker-compose rm
オプションではありません。
答え1
もう一度実行してくださいdocker-compose up
。変更によって影響を受けるもの (コンテナ、ボリューム、ネットワークなど) はすべて再作成されますが、他のコンテナはそのまま残ります。
新しいイメージを使用する場合は、docker-compose pull
事前に実行してください。
答え2
時々、一部のenvファイルの変更が無視されることがあります。その場合は
docker stop mycontainer
docker compose up
これにより、単一のコンテナと依存コンテナが再起動されます。依存コンテナの再起動を避けるのは悪い考えです。mycontainer
異なるdocker ipが出てくるからです。
何らかのreload
コマンドがあればいいのに