Dokcer容器内无法域名解析
0x00 原因
Linux系统默认情况下是未打开ip转发功能的,docker容器内部的网络是由Linux的iptables制定转发规则实现的。
所以当Linux未打开IP转发时,会造成容器内部无法解析域名。
0x01 解决方案
暂时解决:
查看如下地址中的数值(1为开启,0为关闭)
/proc/sys/net/ipv4/ip_forward
如果为0,修改为1即可。
永久解决:
查看如下地址中的数值(1为开启,0为关闭)
/etc/sysctl.conf
# Centos7及以上地址为:/usr/lib/sysctl.d/50-default.conf
修改为1,没有添加即可。
运行如下命令使其生效。
sysctl -p /etc/sysctl.conf