私はドッカーコンテナーで実行する必要があり、ホスト名で他のドッカーコンテナーと対話する必要のある小さなアプリケーションを作成しています。golang net.LookupHost in docker container返信127.0.53.53
私はnet.LookupHostを使用して、サーバーのIPアドレスを取得しようとしていますが、私はいつも奇妙なことは、私はから掘るようにDNSツールを使用して右のIPアドレスを取得することができるということです127.0.53.53
を取得しています同じコンテナ。 goプログラムからはうまくいきません。
以下は私のコードからIPアドレスを取得したセクションです。
zk_server_ips, err := net.LookupHost("zookeeper")
addrs, err := net.LookupIP("testserver")
if err != nil {
fmt.Fprintf(w, "Failed to lookup ip address for testserver")
return
}
for _, addr := range addrs {
if ipv4 := addr.To4(); ipv4 != nil {
fmt.Fprintf(w, "IPv4: %s", ipv4)
}
私は127.0.53.53は、ICANNは、DSNのセットアップに問題があることを私に言っている方法ですが、それは、外出先から掘るドリルでの作業とされていない理由を私は知らないことをたくさん読んでいますコード。 !
また、ホスト名を解決するためのドッカーコンテナを設定する正しい方法は何ですか?
コンテナはAlpine Linuxイメージ上で実行されています。以下は
コンテナ内の私はresolv.confです:
search fritz.box
nameserver 127.0.0.11
options ndots:0
あなたのresolv.confはどのように見えますか?あなたは裸のホスト名を要求しているので、リゾルバがあなたのドメイン名を取得している可能性がありますか? – Doon
検索fritz.box ネームサーバー127.0.0.11 オプションndots:0 – silentnights
powのようなものがインストールされていますか?またはドッカーの傍受をします。 – Doon