新しい設定で単一の docker-compose コンテナを再作成する

新しい設定で単一の docker-compose コンテナを再作成する

変更を加えた場合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コマンドがあればいいのに

関連情報