如何在Windows容器上启用Docker RestAPI?

时间:2016-06-16 08:44:48

标签: docker docker-machine

我使用this official guide在Windows上安装Docker容器。一切都很好,我现在可以在Windows容器上运行IIS。

但是,我没有在任何地方看到它,也不知道如何“启用Rest API”。我怎么能这样做?

2 个答案:

答案 0 :(得分:2)

(代表OP发布)

最后,我找到了如何在Windows上启用Docker Containers的远程API。关键点是文件 daemon.json ,它放在 C:\ ProgramData \ docker \ config 中。

在问题中链接的指南中,作者只提到我们应该将其放在:

{"hosts": ["tcp://0.0.0.0:2376", "npipe://"]}  

但是当我尝试将其添加到 daemon.json 时,我的守护程序无法在CLI上运行。最后,我颠倒了数组的顺序,如

{"hosts": ["npipe://", "tcp://0.0.0.0:2376"]}   

我的docker在CLI和&远程API。 Windows Docker的良好体验,感谢您的关注!

答案 1 :(得分:1)

刚刚遇到同样的问题,发现REST API已经启用了!

TLDR;

set API=https://192.168.99.100:2376/v1.24/containers/json?all=1
set CERT=C:\Users\Nick\.docker\machine\machines\default
curl --cert "%CERT%/cert.pem" --cacert "%CERT%/ca.pem" --key "%CERT%/key.pem" "%API%"

以下是我从Windows cmd访问REST API的方法。

  1. 检查泊坞窗版本
  2. 检查我要连接的机器的网址(default> 192.168.99.100:2376
  3. 将环境变量设置为证书的位置
  4. 在REST端点(/v1.24/containers/json?all=1
  5. 上执行CURL请求

    C:\Users\Nick>docker --version
    Docker version 18.03.0-ce, build 0520e24302
    
    C:\Users\Nick>docker-machine ls
    NAME      ACTIVE   DRIVER       STATE     URL                         SWARM   DOCKER        ERRORS
    default   -        virtualbox   Running   tcp://192.168.99.100:2376           v18.03.0-ce
    
    C:\Users\Nick>set DOCKER_CA=C:\Users\Nick\.docker\machine\machines\default
    
    C:\Users\Nick>curl --cert "%DOCKER_CA%/cert.pem" --cacert "%DOCKER_CA%/ca.pem" --key "%DOCKER_CA%/key.pem" https://192.168.99.100:2376/v1.24/containers/json?all=1
    []
    

    对于那些感兴趣的人......