【问题标题】:docker configuration: daemon.json to have socket and IP in docker daemondocker 配置:daemon.json 在 docker daemon 中拥有套接字和 IP
【发布时间】: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 套接字。

标签: docker opensuse


【解决方案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 ``` 有帮助(抱歉格式错误)
猜你喜欢
  • 2021-08-12
  • 2017-05-19
  • 1970-01-01
  • 1970-01-01
  • 2021-02-27
  • 2018-01-02
  • 1970-01-01
  • 2018-04-14
  • 1970-01-01
相关资源
最近更新 更多