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

如何在Windows容器上启用Docker RestAPI?,docker,docker-machine,Docker,Docker Machine,我曾经在Windows上安装Docker容器。一切看起来都很好,我现在可以在Windows容器上运行IIS了 然而,我在任何地方都看不到它,也不知道如何为它“启用RESTAPI”。我该怎么做?(代表OP发布) 最后,我发现了如何在Windows上启用Docker容器的远程API。关键点是文件daemon.json,它位于C:\ProgramData\docker\config中 在问题中链接的指南中,作者只提到我们应该在其中放置以下内容: {"hosts": ["tcp://0.0.0.0:23

我曾经在Windows上安装Docker容器。一切看起来都很好,我现在可以在Windows容器上运行IIS了

然而,我在任何地方都看不到它,也不知道如何为它“启用RESTAPI”。我该怎么做?

(代表OP发布)

最后,我发现了如何在Windows上启用Docker容器的远程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的良好体验,感谢您的关注

刚刚遇到同样的问题,发现RESTAPI已经启用

太长,读不下去了
设置API=https://192.168.99.100:2376/v1.24/containers/json?all=1
设置证书=C:\Users\Nick\.docker\machine\machines\default
curl--证书“%cert%/cert.pem”--cacert“%cert%/ca.pem”--密钥“%cert%/key.pem”%API%

下面是我如何从windows
cmd
访问restapi的

  • 检查docker版本
  • 检查我要连接到的机器的URL(
    default
    192.168.99.100:2376
  • 将环境变量设置为证书的位置
  • 在REST端点上执行CURL请求(
    /v1.24/containers/json?all=1
  • C:\Users\Nick>docker--version
    Docker版本18.03.0-ce,版本0520e24302
    C:\Users\Nick>docker机器ls
    名称活动驱动程序状态URL SWARM DOCKER错误
    默认-virtualbox正在运行tcp://192.168.99.100:2376           v18.03.0-ce
    C:\Users\Nick>set DOCKER\u CA=C:\Users\Nick\.DOCKER\machine\machines\default
    C:\Users\Nick>curl--cert“%DOCKER\u CA%/cert.pem”--cacert“%DOCKER\u CA%/CA.pem”--key“%DOCKER\u CA%/key.pem”https://192.168.99.100:2376/v1.24/containers/json?all=1
    []
    
    对于那些感兴趣的人

    • Docker REST API-

    请在下面的答案部分发布您的解决方案,而不是作为问题的更新。谢谢,欢迎使用SO。那么,在完成所有这些步骤之后,假设上面的端口和本地主机为ip,我可以通过Docker.Dotnet NuuGet包进行连接?如下所示:
    DockerClient客户端=新的DockerClientConfiguration(新的Uri(“http://127.0.0.1:2376))。CreateClient()是这样吗?链接到图书馆:我不是@SvenM这个材料的作者,我只是从一个问题编辑中提取出来并创建了这个答案。如果你在问题下发表评论,OP很可能会看到并回复你。然而,如果这与上述情况完全不同,也许这值得提出一个新的问题?这不是我的地盘,所以我不知道。