Docker - Docker开启远程访问
Docker守护进程套接字
Docker守护进程可以通过三种不同类型的套接字监听Docker Engine API请求:unix、tcp和fd。
默认情况下,在/var/run/docker.sock处创建一个unix域套接字(或IPC套接字),需要root权限或docker组成员身份。
如果需要远程访问Docker守护进程,则需要启用tcp套接字。请注意,默认设置提供了对Docker守护进程的未加密和未经身份验证的直接访问,应该使用内置的HTTPS加密套接字或在其前面放置一个安全的web代理来进行保护。你可以使用-H tcp://0.0.0.0:2375监听所有网络接口上的2375端口,或使用其IP地址-H tcp://ip:2375监听特定网络接口上的2375端口。通常使用端口2375与守护进程进行非加密通信,使用端口2376与守护进程进行加密通信。
注意:如果你使用的是HTTPS加密的套接字,请记住,仅支持TLS1.0及更高版本。出于安全原因,SSLv3及以下版本的协议不再受支持。
修改docker.service
vim /usr/lib/systemd/system/docker.service
在[Service]部分,修改ExecStart参数,在最后增加-H tcp://0.0.0.0:2375,监听所有网络接口上的2375端口。
ExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock -H tcp://0.0.0.0:2375
重新加载配置文件和启动服务
systemctl daemon-reload && systemctl restart docker
测试下
curl http://localhost:2375/version