我如何在Centos 7上公开Docker Remote API?

use*_*172 2 docker centos7 docker-api

在ubuntu上,我可以进入/etc/init/docker.confDOCKER_OPTS='-H tcp://0.0.0.0:4243 -H unix:///var/run/docker.sock'输入以在我的浏览器上显示json数据,但我如何为Centos执行此操作?

我已经尝试在文件中创建文件/etc/sysconfig/docker并放置other_args="-H tcp://0.0.0.0:4243 -H unix:///var/run/docker.sock"在文件内并重新启动docker但它没有做任何事情.

lar*_*sks 13

由Docker corp软件包安装的systemd单元硬编码用于启动docker守护程序的命令行:

[Service]
Type=notify
ExecStart=/usr/bin/dockerd
ExecReload=/bin/kill -s HUP $MAINPID
[...]
Run Code Online (Sandbox Code Playgroud)

不支持从/etc/sysconfig其他位置读取文件以修改命令行.幸运的是,systemd为我们提供了改变这种行为所需的工具.

最简单的解决方案可能是使用以下内容创建文件/etc/systemd/system/docker.service.d/docker-external.conf(确切的文件名无关紧要;它只需要结束.conf):

[Service]
ExecStart=
ExecStart=/usr/bin/dockerd -H tcp://0.0.0.0:4243 -H unix:///var/run/docker.sock
Run Code Online (Sandbox Code Playgroud)

然后:

systemctl daemon-reload
systemctl restart docker
Run Code Online (Sandbox Code Playgroud)

这实际上是在本文档的Docker网站上记录的,其中包含一个更灵活的解决方案的说明,该解决方案允许您使用文件/etc/sysconfig来控制守护程序.