在Ubuntu 18.04上能正常連網(wǎng)凡怎,但啟動的docker卻連不上網(wǎng),后來進一步研究發(fā)現(xiàn)统倒,docker能ping通百度的ip但ping不了它的域名,所以可以確定是dns服務器的問題房匆。
查看本主機的dns服務器
cat /etc/resolv.conf
nameserver 127.0.0.53
而且它的第一行還寫著:
# This file is managed by man:systemd-resolved(8). Do not edit.
這是ubuntu用了systemd-resolvd,這個域名解析服務器也不是普通的一個服務器坛缕,只是一個虛擬的網(wǎng)絡服務。新啟動的docker容器無法使用它毙沾,默認的dns又無法使用宠页,造成了docker不能正常上網(wǎng)。
因此一種解決方法是禁用它举户,
systemctl disable systemd-resolvd
在/etc/resolv.conf中配置成想要的dns,重啟機器就好了躺枕。
查看docker能否連網(wǎng):
docker run --rm alpine:latest ping -w 2 www.baidu.com
查看docker的dns
docker run --rm alpine:latest cat /etc/resolv.conf
可以發(fā)現(xiàn)文件內(nèi)容與所在該機一致。