【问题标题】:How to enable the Docker Remote API on Windows如何在 Windows 上启用 Docker 远程 API
【发布时间】:2017-03-16 20:24:05
【问题描述】:

我正在尝试在 Windows 10 主机上使用 Docker Remote API。我正在使用 Chrome 的 Postman 扩展来查看是否可以从 docker 远程 api 的端点获取结果。以下是我尝试过的端点:

GET http://192.168.99.100:4243/images/json

GET http://192.168.99.100:2376/images/json

两者都返回Connection to server 192.168.99.100 failed (The server is not responding)

经过几次搜索后,我发现 Docker Remote API 在 Windows 上默认未启用。大多数指南都是针对 Ubuntu 的,但我发现了这个针对 Windows 的特定 one

这些是我在我的机器上执行的步骤

  1. docker-machine ssh
  2. cd /var/lib/boot2docker
  3. sudo vi 配置文件
  4. DOCKER_HOST='H tcp://0.0.0.2376' 更改为DOCKER_HOST='H tcp://0.0.0.2375'
  5. DOCKER_TLS=auto 更改为DOCKER_TLS=no
  6. export DOCKER_HOST='-H tcp://0.0.0.2375'
  7. 导出 DOCKER_TLS_VERIFY=0
  8. 环境 | grep 码头工人
  9. 码头机器重启
  10. 码头机器环境
  11. docker-machine regenerate-certs

执行上述步骤后,我确实在 Postman 上再次尝试了端点,但仍然得到相同的结果。

如果我错过了一步,您能否提供一点帮助?还是我走上了正轨?

另外,回答我的一些问题。

  1. Windows 2375 的 docker 远程 api 端口和 Linux 的 4243 是什么?
  2. DOCKER_HOST 是否适用于 Windows,DOCKER_OPTS 是否适用于 Linux?

【问题讨论】:

  • 面临同样的问题,请帮助我们

标签: linux windows docker tcp boot2docker


【解决方案1】:

将您的 docker 切换到 windows container

转到C:\ProgramData\Docker\configdeamon.json 文件中

添加"hosts": ["tcp://0.0.0.0:2376", "npipe://"]

重启泊坞窗。

下达命令:docker -H tcp://0.0.0.0:2376 ps

【讨论】:

  • 在 Windows Server 2016 上,将 2376 替换为 2375 并且有效!
【解决方案2】:

现在 Windows 上默认启用远程 API(请参阅ticket here)。

确实可以通过http:\\localhost:2375 访问(已测试)。

【讨论】:

    【解决方案3】:

    我遇到了同样的问题,并找到了一个快速的解决方案。只需打开 docker 设置并启用“Expose daemon on TCP ...”复选框。 Docker会自动启动,问题应该解决了。Please find the image attached for reference

    【讨论】:

      【解决方案4】:

      使用 docker 桌面,进入设置并检查“在没有 TLS 的情况下在 tcp://localhost:2375 上公开守护程序”

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2017-03-28
        • 1970-01-01
        • 2022-07-13
        • 1970-01-01
        • 2017-08-16
        • 2016-02-13
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多