说明
如果你的服务器是公网IP,并且开放了docker的远程访问,如果没有进行保护是非常危险的,任何人都可以向你的docker中推送镜像、运行实例。我曾开放过阿里云服务器中docker的远程访问权限,在没有开启保护的状态下,几小时内就被植入了挖矿程序,导致CPU的占用率一直在100%,最终只能将服务器重置,建议使用内网IP地址
开搞
首先编辑docker的宿主机文件/usr/lib/systemd/system/docker.service
sudo vim /usr/lib/systemd/system/docker.service
需要添加的参数如下:远程访问参数
-H tcp://172.27.88.1:2375 # 注意这里设置的ip为你对外暴露的ip地址,也可以设置为0.0.0.0表示全部网卡的地址都可以访问
修改配置之后,需要手动重新加载配置,命令如下
systemctl daemon-reload && systemctl restart docker
防火墙放行
iptables -I INPUT -p tcp --dport 2375 -j ACCEPT # iptables
firewall-cmd --zone=public --add-port=2375/tcp --permanent # firewall
- 如果是云服务器还需要在安全组中开发2375端口
验证
首先在本地使用-H参数进行操作
docker -H 172.27.88.1:2375 images
然后使用另一台虚拟机访问