我的出发点是:
因此,我编辑/etc/init/docker.conf并更新2次DOCKER_OPTS变量,以便:
DOCKER_OPTS='-H tcp://0.0.0.0:4243 -H unix:///var/run/docker.sock'
然后,列出坞映像的简单测试失败:
$ service docker restart
$ curl -X GET http://10.143.0.218:4243/images/json
curl: (7) Failed to connect to 10.143.0.218 port 4243: Connection refused码头版本是:
$ sudo docker version
Client:
Version: 1.12.3
API version: 1.24
Go version: go1.6.3
Git commit: 6b644ec
Built: Wed Oct 26 19:06:36 2016
OS/Arch: linux/arm
Server:
Version: 1.12.3
API version: 1.24
Go version: go1.6.3
Git commit: 6b644ec
Built: Wed Oct 26 19:06:36 2016
OS/Arch: linux/arm发布于 2016-11-14 15:32:51
没有测试这一点,但是如果它是Jessie,那么它默认使用systemd作为init系统iirc,这对守护进程(dockerd)的配置和启动方式有影响。
因此,您正在编辑/etc/init/docker.conf文件,但我不认为这是在读取/使用。
阅读Docker中每个init系统上的本文介绍了不同的启动过程。和这用于特定的系统配置。。
发布于 2016-11-15 11:55:13
解决方案来自此页面的注释:http://www.virtuallyghetto.com/2014/07/quick-tip-how-to-enable-docker-remote-api.html
2016年8月18日早上6点,奥利弗·魏斯说:谢谢,这让我走上了正确的方向。但是,由于Ubuntu16.04及其systemd停靠守护进程,
/etc/default/docker不再有效。相反,您需要创建一个systemd dropin文件。 我把这样的文件放在:/etc/systemd/system/docker.service.d/remote-api.conf下面。 内容如下:
[Service]
ExecStart=
ExecStart=/usr/bin/dockerd -H tcp://127.0.0.1:2376 -H unix:///var/run/docker.sock(是的,双ExecStart是必要的) 在那之后:
sudo systemctl daemon-reload // reloading daemon definitions
sudo systemctl restart dockerhttps://stackoverflow.com/questions/40591356
复制相似问题