30

コンテナAとBの2つがあります。コンテナAが起動すると、1つのプロセスが実行され、その後コンテナが停止します。コンテナー B は単なる Web アプリケーション (expressjs など) です。コンテナ B から A をキックスタートすることは可能ですか?

4

3 に答える 3

39

ホスト上で他のコンテナーを生成できるように、コンテナーに docker へのアクセスを許可することができます。これを行うには、コンテナー内の docker ソケットを公開します。たとえば、次のようになります。

docker run -v /var/run/docker.sock:/var/run/docker.sock --name containerB myimage ...

ここでdocker、コンテナー内でクライアントを使用できる場合、ホスト上の docker デーモンを制御し、それを使用して「コンテナー A」を生成することができます。

このアプローチを試す前に、セキュリティに関する考慮事項を認識しておく必要があります。Dockerrootへのアクセスは、ホストへのアクセスと同じです。つまり、Web アプリケーションにリモート侵害があった場合、ホストへのキーを攻撃者に渡したことになります。これについては、この記事で詳しく説明しています。

于 2016-09-13T12:17:23.703 に答える