docker 配置:daemon.json 在 docker daemon 中拥有套接字和 IP

Posted

技术标签:

【中文标题】docker 配置:daemon.json 在 docker daemon 中拥有套接字和 IP【英文标题】:docker configuration: daemon.json to have socket and IP in docker daemon 【发布时间】:2017-02-24 09:21:38 【问题描述】:

将我的 OpenSUSE docker 主机更新到最新版本 1.12.6 后,我不能让 docker 守护进程同时监听套接字和 IP。

如果我包括

"hosts": ["tcp://192.168.1.1:2376"]

在我的 daemon.json 中,它正确绑定到该 IP,我可以从我的 Intranet 连接到 docker,但它不会打开本地套接字,因此我可以在本地执行 docker 命令。如果我删除该主机条目,本地 docker 命令可以工作(默认配置),但显然我无法从 Intranet 访问主机。

将 fd:// 添加到主机 JSON 数组将不起作用。我在重新启动 docker 服务时收到一条错误消息,指出没有可用的套接字。

我的问题是:在 daemon.json “hosts” 条目中包含什么配置,不仅可以添加 tcp 主机,还可以添加套接字?

【问题讨论】:

问题是“hosts”选项会覆盖 docker 默认值而不是追加。所以你必须同时指定 unix 套接字(像 docker ps -a 一样连接)和 tcp 套接字。 【参考方案1】:

默认情况下你必须编辑

/etc/docker/daemon.json

文件内容:


  "hosts": ["unix:///var/run/docker.sock", "tcp://0.0.0.0:2376"]

如果需要/想要,您还可以添加其他套接字。

如果你想使用一些网络客户端,你可能需要添加 CORS:


  "api-enable-cors": true,
  "api-cors-header": "*",
  "hosts": ["unix:///var/run/docker.sock", "tcp://0.0.0.0:2375"]

【讨论】:

unable to configure the Docker daemon with file /etc/docker/daemon.json: the following directives are specified both as a flag and in the configuration file: hosts: (from flag: [unix://], from file: [unix:///var/run/docker.sock tcp://0.0.0.0:2375]) but /etc/systemd/system/docker.service.d/docker.conf with ``` [Service] ExecStart= ExecStart=/usr/bin/dockerd ``` 有帮助(抱歉格式错误)

以上是关于docker 配置:daemon.json 在 docker daemon 中拥有套接字和 IP的主要内容,如果未能解决你的问题,请参考以下文章

docker-daemon.json配置详解

docker 配置文件:/etc/docker/daemon.json

Docker 找不到/etc/docker/daemon.json问题解决

Docker daemon.json 的配置项目合集

Docker daemon.json 的配置项目合集

docker daemon.json 配置