ローカルDockerイメージが変更されていないことを確認するために、すべてのシステムで実行される汎用システム初期化ツールを構築しようとしています。このツールはどのコンテナを実行する必要があるのかわからず、システムが起動(または再起動)されるたびに実行され、システム内のDockerイメージのIDと整合性を確認します。私の質問はDockerを起動し、再起動ポリシーが設定されたコンテナを起動しないように指示することは可能ですか?デフォルトでは、コンテナを起動せずにDockerを起動できますか?
2番目の質問は、最初の質問に役立ちます。デーモンの起動時に再起動する必要があるコンテナを決定するためにデーモンが使用する設定ファイルはどこにありますか?
答え1
再起動ポリシーを保存するコンテナ構成ファイルは、/var/lib/docker/containers/HASH/hostconfig にあります。
"RestartPolicy":{"Name":"always","MaximumRetryCount":0}
1-ドッカーを停止したい場合:
sudo systemctl stop docker
2-変更 いつも到着まったく/var/lib/docker/containers/HASH/hostconfigから。
3-Dockerサービスを開始します。
sudo systemctl start docker
コンテナの自動起動が無効になります。
しかし、単純な構文を使用するとどうなりますか?
sudo update --restart=none <container_id>
他の方法名前を変更できます/var/lib/docker/コンテナ:
1-ドッカーの停止
2-コンテナフォルダを/var/lib/docker/containers/に戻します。
3-ドッカー開始
答え2
Dockerは設定情報(再起動ポリシーを含む)hostconfig.json
を/var/lib/docker/containers/
。それから私は確認することができます。仕事を再開するために、私はその逆をしました。/var/lib/docker/containers/301849...5917f/hostconfig.json
/var/lib/docker/containers/
- ドッカーを停止
- コンテナフォルダを次に変更します。
/var/lib/docker/containers/
- ドッカーの再起動
再起動ポリシーで構成されたすべてのコンテナが再起動され、すべてが正常です。