免责声明:
在一台使用Upstart作为初始化系统的Ubuntu 14.04旧机器上,我通过在/etc/default/docker
中定义DOCKER_OPTS
来启用了HTTP API。它可以正常运行。
$ docker version
Client:
Version: 1.11.2
(...)
Server:
Version: 1.11.2
(...)
问题:
这个解决方案在使用SystemD的Ubuntu 16.04最新机器上无法使用。
如最近安装的文件/etc/default/docker
顶部所述:
# Docker Upstart and SysVinit configuration file
#
# THIS FILE DOES NOT APPLY TO SYSTEMD
#
# Please see the documentation for "systemd drop-ins":
# https://docs.docker.com/engine/articles/systemd/
#
(...)
根据我在 SystemD 的 Docker 文档页面 上检查到的信息,我需要填写一个
daemon.json
文件,但在参考文献中指出有些属性是自解释的,而其他一些则可能解释不足。
话虽如此,我正在寻求帮助将这个转换为 daemon.json
对象:
DOCKER_OPTS="-H tcp://0.0.0.0:2375 -H unix:///var/run/docker.sock -G myuser --debug"
注释
PS1: 我知道 daemon.json
有一个默认的 debug: true
。
PS2: 可能 group:"myuser"
会像这样工作,或者带有字符串数组。
PS3: 我的主要关注点是同时使用 SOCK 和 HTTP。
编辑(8/08/2017) 阅读接受的答案后,请参考 @white_gecko 答案以获得更多信息。