コンテナが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.com
ping: 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.conf
Google の DNS を有効にしました。 iptablesの設定はDockerの標準のようです(私は一度も試したことがありません)。
私はここでとても混乱しています。同様の問題が発生した人はいますか?他に役立つ情報があれば教えてください。