web-dev-qa-db-ja.com

ホストからホスト名をDockerコンテナーに解決するにはどうすればよいですか?

Dockerが127.0.0.11で魔法のDNSを実行することを理解しているので、試してみると思いました

nslookup mycontainername 127.0.0.11

mycontainernameはもちろん、アクセスしようとしているコンテナーの名前です。しかし、それはタイムアウトになりました。

;; connection timed out; no servers could be reached

何が悪いのですか?私はDocker 1.10.3を使用しています。それが役立つ場合は、docker-compose 1.6.2を使用して多数のコンテナーを取得しています。

[〜#〜] edit [〜#〜]これは Docker 1.10の複製です。ホストマシンからホスト名でコンテナにアクセスします

15
Morpheu5

documentation では、ネットワークを明示的に作成し、コンテナを接続した場合にのみ機能することを意味します。次のようなものを試してください:

docker network create -d bridge --subnet 172.25.0.0/16 isolated_nw
docker network connect isolated_nw mycontainername

そして、127.0.0.11(バージョン1.10.3で私のために働いた)を使用できるかどうかを確認してください

詳細は this ticket を参照してください。

1
mcw

これには優れた解決策があり、この投稿で回答されています: https://stackoverflow.com/a/51125399/9270227 。それは基本的に docker-hoster と呼ばれる軽量のコンテナであり、重い作業をすべて行います。

1
Octavian