web-dev-qa-db-ja.com

常に再起動オプションで起動されたDockerコンテナを停止して削除するにはどうすればよいですか?

オプション-restart alwaysを使用していくつかのコンテナーを実行します。

それはうまく機能しているので、今これらのコンテナを停止するのは難しいです:)

私は試した :

Sudo docker stop container && Sudo docker rm -f container

ただし、コンテナは再起動します。

dockerドキュメント は再起動ポリシーを説明していますが、この問題を解決するものは見つかりませんでした。

14
mperrin

お時間を割いていただき、誠にありがとうございます。

Dockerを直接使用する場合、ブライアンは正しいですSudo docker rm -f containerで十分です。

私の問題は主に、パペットを使用してDockerイメージをデプロイし、コンテナーを実行することでした。 このモジュール を使用すると、アップスタートプロセスマネージャーのエントリが/ etc/initに作成されます。

私の問題は、プロセスマネージャーとDockerの間のある種の非互換性だと思います。

この状況で、コンテナを停止するには、単にSudo stop docker-container

Dockerコンテナの実行の管理の詳細については、 Docker Webサイト を参照してください。

4
mperrin

ただ

Sudo docker rm -f container

プロセスが実行中の場合はプロセスを強制終了し、コンテナを1つのステップで削除します。

とはいえ、あなたが説明した症状を再現することはできませんでした。 --restart=alwaysで実行すると、docker stopはプロセスを停止し、停止したままになります。

Dockerバージョン1.3.1を使用しています。

10
Bryan

docker update --restart=no <container>

6
Elijah Lynn