docker开启远程访问

说明

如果你的服务器是公网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表示全部网卡的地址都可以访问

image-20230107111331344

修改配置之后,需要手动重新加载配置,命令如下

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

image-20230107112346422

然后使用另一台虚拟机访问

image-20230107112419461

posted @ 2023-01-07 11:30  崔安兵  阅读(153)  评论(0)    收藏  举报