ぷっぽプログラミング備忘録

linux, javascript, php, C#, そのうちScalaとかアプリ開発とかやってみたいです。

docker-composeで特定コンテナのみ再起動したい

概要

docker-compose restart 【サービス名】

注意

docker-compose.ymlなどのymlファイルの変更は、このコマンドでコンテナを再起動しても、変更が反映されません。
変更を反映した場合は、docker-compose downをしてコンテナをいったん破棄して、docker-compose up を再度作り直す必要があるということですかね。

ただ、docker-compose.ymlで「設定ファイルを既にvolumes指定などで紐づけていた場合」は、紐づけているファイルの変更は反映されました。 たとえば、

    servicehoge:
      ...
      volumes:
          - ./foo/bar/hogehoge.ini:/usr/local/etc/fooservice/bar.ini

などとしていた場合、/foo/bar/hogehoge.iniを修正すれば、docker-compose restartすれば、その内容は反映されました。 → docker-compose.ymlは一切変更がなかったが、docker-compose.ymlでコンテナと紐づけていた設定ファイルを修正したら、コンテナが再起動したため反映された のだと思います。

参考

docker-compose restart | Docker ドキュメント