DNSサーバーがドッキング・コンテナーにバインドされています。このコンテナは、ドッカーのdeamonに次のポートマッピングを持っています。 0.0.0.0:53->53/tcp、0.0.0.0:53->53/udpDocker Container内のDNSサーバー
ドッキングホストは、IPアドレス192.168.24.5とローカルDHCPサーバーは、ホストのIPをローカルDNSサーバーとしてアナウンスします。これは私のローカルネットワーク上でうまく動作します。 ホスト自体がこのDNSサーバーをIP 192.168.24.5で使用します。それはホストの/etc/resolv.confに置かれるアドレスです。 (ネームサーバーアドレスとして127.0.0.1があった場合、ドッカーとはうまく動作しません)
私は他のドッカーコンテナを持っていて、このDNSサーバーも使用することになっています。ポイントは、そうではありません。
これは実際には何ですか: ランダムなコンテナでホストのアドレスとバインドされていないコンテナのアドレスをpingできます。私はコンテナ内DIGを使用する場合でも、私はこれらの結果を得る:これはいくつかの内部DNSサーバのように見えます
# dig @172.17.0.6 ... ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: REFUSED, id: 22778 ;; flags: qr rd ad; QUERY: 0, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 0 ;; WARNING: recursion requested but not available
# dig @192.168.24.5 ... ;; reply from unexpected source: 172.17.0.1#53, expected 192.168.24.5#53
がクエリを傍受し、それらに答えることをしようとします。答えを得るためにホストのDNSサーバーを使用するのであれば問題ありませんが、そうではありません。 DNSはコンテナ内ではまったく動作しません。
私は間違っていますか、ドッカーは何かをしていませんか?
コンテナの/etc/resolv.confに正しいネームサーバー192.168.24.5が表示されます。しかし、コンテナ内からそれを聞くことができないときは、ほとんど役に立たないでしょう。 – felix