在运行 systemd 的 Linux 上启用对 Docker API 的远程访问

运行 systemd 的 Linux,比如 Ubuntu 16.04,将 -H tcp://0.0.0.0:2375 添加到/etc/default/docker 没有以前的效果。

而是创建一个名为/etc/systemd/system/docker-tcp.socket 的文件,以便在端口 4243 上的 TCP 套接字上使用 docker:

[Unit]
Description=Docker Socket for the API  
[Socket]
ListenStream=4243  
Service=docker.service  
[Install]
WantedBy=sockets.target 

然后启用新套接字:

systemctl enable docker-tcp.socket
systemctl enable docker.socket
systemctl stop docker
systemctl start docker-tcp.socket
systemctl start docker

现在,验证 Remote API 是否正常工作:

curl -X GET http://localhost:4243/images/json