デプロイにdocker-composeを使用しています。「centos-2」コンテナから「centos-1」コンテナを再起動したい。両方のコンテナが同じホストで実行されています。提案してください、どうすればこれを最も簡単で自動化された方法で達成できますか?
Dockerコンテナからホスト上でシェルスクリプトを実行する方法に従いましたか?「centos-2」コンテナからホスト上でスクリプトを実行しようとしましたが、スクリプトはホスト上ではなくコンテナ内で実行されています。
脚本:
#!/bin/bash
sudo docker container restart centos-1
エラー:
line 2: docker: command not found
(Dockerはcentos-2コンテナー内にインストールされていません)
必要なもの:
Docker CLI(コマンドラインインターフェイス)を2番目のコンテナーにインストールします。フルスケールインストールと混同しないでください-dockerデーモンは必要ありません。コマンドラインツール(docker
実行可能ファイル)のみが必要です。
ホストのdockerデーモン(サービス)を共有して、2番目のコンテナーでアクセスできるようにします。これは/var/run/docker.sock
、2番目のコンテナを起動するときに共有するだけで実現されます。例:
docker run ... -v "/var/run/docker.sock:/var/run/docker.sock" container2 ...
これでdocker stop
、2番目のコンテナーなどから任意のdockerコマンドを実行でき、これらのコマンドはメインの(そして唯一の)dockerデーモンに問題なく渡されます。
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加