我们知道,docker创建的容器是不能直接被外部访问的。因此,如果要访问就需要将容器的访问端口映射到系统的端口。
例如,创建fdocker的可视化面板
docker run -d -p 9000:9000 --restart=always -v /var/run/docker.sock:/var/run/docker.sock --privileged=true portainer/portainer
如果系统开启了防火墙,首先要放开系统的端口9000/TCP。
firewall-cmd --zone=public --add-port=8088/tcp --permanent
(firewall-cmd --zone=public --remove-port=8088/tcp --permanent关闭端口)
systemctl restart firewalld.service
显示防火墙端口:
firewall-cmd --list-ports
查看防火墙是否开启:firewall-cmd --state
同时,当你的系统是安装在云上时,例如安装在阿里云上,那么此时需要登陆阿里云服务器,找到你的实例,然后开启阿里云上的防火墙端口。
也就是说,系统开放了端口并不表明服务器上的防火墙开启了端口,这是两个级别的防火墙。
阿里云服务器上开放了端口,就可以登陆你的容器面板了。