docker-compose up / down just one container


32

docker-compose.ymlファイルでコンテナを1つだけアップ/ダウンする方法を見つけることができませんでした。単一のコンテナをコース外で開始および停止できますが、再起動の間にコンテナ構成を変更することはできません(環境変数、マウントポイントなど)

ここで何が欠けていますか?この場合のベストプラクティスは何ですか?

回答:


3

最近この必要性がありdocker-compose-production.yml、微調整に対処するために別のファイルを用意することで解決しました。次に、忘れずに起動するdocker-compose -f docker-compose-production.yml...


実行するとき、これはどのように機能しますdocker-compose downか?すべての.ymlファイルで作成されたすべてのコンテナを削除しませんか?
ジョーダンモリス

2
できることdocker-compose -f docker-compose-production.yml down
icarito

そして、アップ/ダウンしたいコンテナをどこで指定しますか?-f構成ファイルのセレクタであり、コンテナではありません。
アストロウォーカー

30

これは、単一のサービスのdocker-compose downと同じ効果があることがわかりました。

docker-compose rm -f -s -v yourService

docker-compose rm

使用法:rm [オプション] [サービス...]

オプション:
-f、
-force 削除の確認を要求しない-s、-stop必要に応じて、コンテナを停止してから
削除します-vコンテナに接続されている匿名ボリュームを削除します

すべてのフラグを1つの-パラメーターにまとめることができます。docker-compose rm -fsv yourService


ところで、ディスクを廃棄すると思う
ジョーダンモリス

2
旗について教えてください、彼らは何をしますか?
セモ

13

stackoverflow.comでこの優れたスレッドを確認することをお勧めします。単一のコンテナを再構築して再起動する簡単な答えは次のとおりです。

docker-compose up -d --build worker

これは、たとえば、変更がdocker-compose.ymllではなくDockerfileに関係する場合の理想的なソリューションです。


7

使用できます

$ docker-compose -f docker-compose.yml up yourService

yourServiceとそれに必要なすべての依存関係のみを開始します。

したがって、yourServiceがmysqlコンテナに依存している場合、上記のコマンドは両方のコンテナを起動します。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.