怎么开启 Docker remote API

2017-03-09
  • 通过 Errbot 集中管理多个Docker服务。 需要开启 Docker Remote API。

首先需要修改 /lib/systemd/system/docker.service 这个文件

...

[Service]
Type=notify
# the default is not to use systemd for cgroups because the delegate issues still
# exists and systemd currently does not support the cgroup feature set required
# for containers run by docker
ExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock
ExecReload=/bin/kill -s HUP $MAINPID
TimeoutSec=0
RestartSec=2
Restart=always

...

ExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock 这行改成 ExecStart=/usr/bin/dockerd -H fd:// -H tcp://0.0.0.0:5555

然后,重启 docker 服务

sudo systemctl daemon-reload
sudo service docker restart

最后,测试下 API 可用性

    curl  http://127.0.0.1:5555/version
    {"Version":"1.13.1","ApiVersion":"1.26","MinAPIVersion":"1.12","GitCommit":"092cba3",
    "GoVersion":"go1.7.5","Os":"linux","Arch":"amd64","KernelVersion":"4.4.0-57-generic",
    "BuildTime":"2017-02-08T06:50:14.717554785+00:00"}