0

ホスト (172.16.0.1) で実行されている Docker コンテナーのグループがあります。Docker コンテナーを実行するホストのサイズの制限により、別のホスト (172.16.0.2) で自動テスト フレームワークをセットアップしようとしています。docker コンテナーにアクセスできるようにするには、自動テスト フレームワークが必要です。ドッカーのドキュメントを調べましたが、これを行う方法については何も表示されません。

docker exec を実行して、それを docker ホストに向けることはできますか? 次のようなことをしたいと思っていましたが、ホストを指定するオプションはありません。

docker exec -h 172.16.0.1 -it my_container bash

別のコマンドを使用する必要がありますか?

ありがとうございました!

4

2 に答える 2

2

docker execリモートで行う必要がある理由がわかりません。しかし、とにかくそれは達成可能です。

コンテナが実行されているホストの docker デーモンがsocket でリッスンしていることを確認する必要があります。

このようなもの:

# Running docker daemon which listens on tcp socket
$ sudo dockerd -H unix:///var/run/docker.sock -H tcp://0.0.0.0:2375

次に、次を使用して、外部 VM からリモートで docker デーモンと対話します。

$ docker -H tcp://<machine-ip>:2375 exec -it my-container bash
OR
$ export DOCKER_HOST="tcp://<machine-ip>:2375"
$ docker exec -it my-container bash

注: docker ソケットをネットワークで公開すると、重大なセキュリティ リスクが生じます。暗号化された HTTPS ソケットまたは ssh プロトコルを介して公開する方法は他にもありますが。

何かを試みる前に、これらのドキュメントを注意深く読んでください。

https://docs.docker.com/engine/reference/commandline/dockerd/#daemon-socket-option

https://docs.docker.com/engine/security/https/

于 2021-01-05T18:09:47.403 に答える