Enable the remote API on a new socket#
Create a file called /etc/systemd/system/docker-tcp.socket to make Docker available on a TCP socket on port 2375.
[Unit]
Description=Docker Socket for the API
[Socket]
ListenStream=2375
BindIPv6Only=both
Service=docker.service
[Install]
WantedBy=sockets.targetThen enable this new socket:
systemctl enable docker-tcp.socket
systemctl stop docker
systemctl start docker-tcp.socket
systemctl start dockerTest that it's working:
docker -H tcp://127.0.0.1:2375 ps补充阅读#
解释用 systemd Socket 暴露 Docker API 的旧版配置,并说明远程访问的权限边界。
如何理解与使用#
这份配置让 Docker API 接受 TCP 连接,访问者可能获得很高的宿主机控制权限;监听可用不代表认证和传输保护已完成。
验证与边界#
不要把无认证的 2375 端口直接暴露到公网。当前使用应按 Docker 官方方式采用 SSH 或双向 TLS 等受控入口,并验证非授权客户端无法连接。
参考:Docker 管理接口保护(本次补充核对)。
