Networking 有时docker容器dns失败
有时我的docker容器无法解析dnsNetworking 有时docker容器dns失败,networking,docker,Networking,Docker,有时我的docker容器无法解析dns [root@1397f4b5b0b8 ~]# ping google.co.kr ping: unknown host google.co.kr 虽然一周后它可以正常工作。突然间,它引起了问题 一些信息 1) docker容器ip 160: eth0: <BROADCAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000 link/ether 16:a4:72:e5:
[root@1397f4b5b0b8 ~]# ping google.co.kr
ping: unknown host google.co.kr
虽然一周后它可以正常工作。突然间,它引起了问题
一些信息
1) docker容器ip
160: eth0: <BROADCAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
link/ether 16:a4:72:e5:a0:a4 brd ff:ff:ff:ff:ff:ff
inet 172.17.0.4/16 scope global eth0
inet6 fe80::14a4:72ff:fee5:a0a4/64 scope link
valid_lft forever preferred_lft forever
162: lo: <LOOPBACK,UP,LOWER_UP> mtu 16436 qdisc noqueue state UNKNOWN
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
3) 我把平送到另一个集装箱
[root@1397f4b5b0b8 ~]# ping 172.17.0.3
PING 172.17.0.3 (172.17.0.3) 56(84) bytes of data.
64 bytes from 172.17.0.3: icmp_seq=1 ttl=64 time=1.01 ms
64 bytes from 172.17.0.3: icmp_seq=2 ttl=64 time=0.060 ms
64 bytes from 172.17.0.3: icmp_seq=3 ttl=64 time=0.033 ms
4) docker ip地址
docker0 Link encap:Ethernet HWaddr FE:4D:B5:ED:F2:9C
inet addr:172.17.42.1 Bcast:172.17.255.255 Mask:255.255.0.0
inet6 addr: fe80::fc99:12ff:fe49:b968/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:10615013037 errors:0 dropped:0 overruns:0 frame:0
TX packets:10581841163 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:1452195292535 (1.3 TiB) TX bytes:1436185782855 (1.3 TiB)
em1 Link encap:Ethernet HWaddr C8:1F:66:F9:22:1B
inet addr:192.168.100.64 Bcast:192.168.100.255 Mask:255.255.255.0
inet6 addr: fe80::ca1f:66ff:fef9:221b/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:18816069331 errors:0 dropped:4421 overruns:0 frame:69216
TX packets:18985345996 errors:0 dropped:6 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:2823201130099 (2.5 TiB) TX bytes:2383729440082 (2.1 TiB)
Interrupt:35
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:14689636131 errors:0 dropped:0 overruns:0 frame:0
TX packets:14689636131 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:1541592592181 (1.4 TiB) TX bytes:1541592592181 (1.4 TiB)
5) docker路由表
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
192.168.100.0 0.0.0.0 255.255.255.0 U 0 0 0 em1
169.254.0.0 0.0.0.0 255.255.0.0 U 1002 0 0 em1
172.17.0.0 0.0.0.0 255.255.0.0 U 0 0 0 docker0
0.0.0.0 192.168.100.1 0.0.0.0 UG 0 0 0 em1
我将重启带到docker并启动容器。
然后docker容器可以连接到外部
[root@1397f4b5b0b8 ~]# ping google.co.kr
PING google.co.kr (173.194.72.94) 56(84) bytes of data.
64 bytes from tf-in-f94.1e100.net (173.194.72.94): icmp_seq=1 ttl=48 time=69.3 ms
64 bytes from tf-in-f94.1e100.net (173.194.72.94): icmp_seq=2 ttl=48 time=69.4 ms
64 bytes from tf-in-f94.1e100.net (173.194.72.94): icmp_seq=3 ttl=48 time=69.4 ms
64 bytes from tf-in-f94.1e100.net (173.194.72.94): icmp_seq=4 ttl=48 time=69.3 ms
我应该如何修复它?如谷歌协议中所述,谷歌没有对其公共DNS服务的可用性做出任何承诺(即没有SLA-服务级别协议)。换句话说,由于随机原因,它随时可能失败,这就是您所经历的。由于某些原因,
resolv.conf
权限受到了太多限制。您可以通过以下方法解决此问题:
sudo chmod 644 /etc/resolv.conf
我找到了dmesg日志。netlink:解析属性后剩余的20字节。netlink:解析属性后剩余20字节。主机如何?也许你只是失去了你的人际网络?主机运行的是什么操作系统?Centos 6.6,出现问题时主机正常。这是唯一一个在网络之外失败的人1.这是我所不知道的。您可以尝试将容器网络设置为“主机”,看看这是否有帮助?
sudo chmod 644 /etc/resolv.conf