DockerコンテナはDNS名を解決できません。

DockerコンテナはDNS名を解決できません。

コンテナがDNS名を解決できないArch Linuxでは、継続的なDockerの問題が発生しました。コンテナは外部 IP アドレスを ping し、ネットワーク接続は正常ですが、DNS 解決に失敗したことを示すことができます。この問題はすべてのコンテナに存在し、単一の画像に限定されない。昨日までは、このコンピュータにこのコンテンツは表示されませんでした。私は仕事に毎日Dockerを使用していますが、このような問題が発生したことはありません。私はArch Linuxを使用していますが、新しいアップデートで問題が発生したのではありませんか?参考にしてください。

カーネル: 6.6.7-arch1-1

ドッカー: 24.0.7, afdd53b4e3 ビルド

私はどんな方法でもドッカーのネットワーク構成を台無しにしませんでした。

実行手順:コンテナが外部IP(8.8.8.8など)をpingできることを確認します。 GoogleのDNSサーバーを使用するようにDockerを設定します/etc/docker/daemon.json

{
    "dns": ["8.8.8.8", "8.8.4.4"]
}

iptablesルールを確認しましたが、明らかな設定エラーは見つかりませんでした。削除を含むDockerを削除して再インストールします/var/lib/docker。邪魔になる可能性がある競合するソフトウェア(VPNやファイアウォールルールなど)がないことを確認してください。

docker run --rm busybox ping -c 4 google.comping: bad address 'google.com'IP を直接 Ping している間 (たとえば、8.8.8.8)、次のコマンドを使用してコンテナを実行すると正常に動作します。docker run --rm --dns 8.8.8.8 busybox ping -c 4 google.com動作しません。resolv.confコンテナもGoogle DNSに設定されています。

docker network inspect bridge出力が正常に表示されます。ホストは/etc/resolv.confGoogle の DNS を有効にしました。 iptablesの設定はDockerの標準のようです(私は一度も試したことがありません)。

私はここでとても混乱しています。同様の問題が発生した人はいますか?他に役立つ情報があれば教えてください。

ベストアンサー1

おすすめ記事