Hugh's Blog

CentOS 7 docker 容器无法访问宿主机

 

最近在 CentOS 7 下使用 docker,出现 No route to host 这个问题,查了下,应该是由于 CentOS 7 默认使用 firewalld 造成的,解决方法添加白名单就行,做个记录。

# 主要命令
firewall-cmd --help

# docker0 网卡,不过我试了并没有成功
firewall-cmd --permanent --zone=trusted --add-interface=docker0
firewall-cmd --permanent --zone=trusted --change-interface=docker0

# 容器 ip 段,试了成功
firewall-cmd --permanent --zone=trusted --add-source=172.17.0.0/24

# 端口, 没试过
firewall-cmd --permanent --zone=trusted --add-port=3306/tcp

# 重载规则
firewall-cmd --reload

# 重启服务
systemctl restart firewalld
systemctl restart docker

# 查看是否生效
firewall-cmd --list-all-zones
firewall-cmd --get-active-zones