Docker 常见端口

端口 作用
2375 未加密的docker socket,远程root无密码访问主机
2376 tls加密套接字,很可能这是您的CI服务器4243端口作为https 443端口的修改
2377 群集模式套接字,适用于群集管理器,不适用于docker客户端
5000 docker注册服务
4789/7946 覆盖网络

Docker Remote API 开启

这里有两种方式。

修改服务配置文件

编辑/usr/lib/systemd/system/docker.service服务配置文件,修改如下:

[Service]
...
# for containers run by docker
#ExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock
# 将是上面的ExecStart命令修改如下:
ExecStart=/usr/bin/dockerd -H fd:// -H tcp://0.0.0.0:2375 -H tcp://0.0.0.0:2376 -H unix://var/run/docker.sock --containerd=/run/containerd/containerd.sock 
...

重启docker:

systemctl daemon-reload
systemctl restart docker

使用 daemon.json

编辑或修改/etc/docker/daemon.json配置文件:

{
  "hosts": ["unix:///var/run/docker.sock", "tcp://0.0.0.0:2375", "tcp://0.0.0.0:2376"]
}

使用这种方式,需要去掉/usr/lib/systemd/system/docker.service中关于 -H的选项,否则会报错。

[Service]
...
# for containers run by docker
#ExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock
# 将是上面的ExecStart命令修改如下:
ExecStart=/usr/bin/dockerd --containerd=/run/containerd/containerd.sock 
...

重启docker:

systemctl daemon-reload
systemctl restart docker

参考文档