- 问题:使用Docker 搭建的Harbor 开启防火墙firewall 后无法访问 但是已经开放了harbor 的端口了
服务正常运行
端口开放
访问不同
原因
CentOS防火墙的原因,需要允许NAT转发。
解决办法
前提是CentOS虚拟机网络要用桥接模式,让虚拟机IP保持跟缩主机同一段IP。
设置防火墙允许NAT转发。
firewall-cmd --zone=public --add-masquerade --permanent
把docker0网卡添加到trusted域
firewall-cmd --permanent --zone=trusted --change-interface=docker0
防火墙开放容器端口,假如容器对外暴露的端口是8011,那么防火墙要开放这个端口
firewall-cmd --add-port=8011/tcp --permanent
然后重启防火墙、重启Docker,重启容器,就可以外网访问Docker网站了。
firewall-cmd --reload
systemctl restart docker
docker start 容器名