如何使泊坞窗远程API其余在Mac OS X与boot2docker?(How to enable

2019-10-23 16:26发布

我是新来泊坞窗。 我想用泊坞窗远程API,但是我失败了。 首先,我用的是搬运工的Java是远程API客户端库。 它抛出异常是:

The server failed to respond with a valid HTTP response

更详细的是在这里 。所以,我想知道什么是错了。 我使用远程REST API,以我的搬运工人从这个连接教程 。 但它并没有工作。 我用下面的命令:

curl -v http://192.168.59.103:2376/info

并告诉我这个信息:

* Hostname was NOT found in DNS cache
*   Trying 192.168.59.103...
* Connected to 192.168.59.103 (192.168.59.103) port 2376 (#0)
> GET /info HTTP/1.1
> User-Agent: curl/7.37.1
> Host: 192.168.59.103:2376
> Accept: */*
> 

* Connection #0 to host 192.168.59.103 left intact

我认为它可以连接到这个IP,但不是有效的响应。 谁能够理解这是什么意思? 然后我发现在谷歌的问题。 有人说,它需要IP地址:2376到VirtualBox的。 我已经做了。 但是,它仍然没有奏效。 我只是想用REST API来请求我的搬运工。 当我使用这个命令:

curl -v http://192.168.59.103:2376/info

我希望能告诉我正常的信息。 有人告诉我,我需要让它不使用TLS。 但是,我不知道该怎么办。 请告诉我一步一步。 我是真正的新泊坞窗。 谢谢。 我使用的是Mac OS X.而码头工人API是1.19,和客户端版本是1.7.0。

Answer 1:

您正在尝试这是2376 HTTPS端口上的访问泊坞窗,如果你想使用卷曲没有HTTPS,你必须打2375端口这是正常的HTTP,但默认情况下是禁用的。

但是你可以先运行启用了

boot2docker ssh

然后由一个运行这些命令一个

cp /etc/init.d/docker ~/docker.bak
sudo sed -i 's/DOCKER_TLS:=auto/DOCKER_TLS:=no/1' /etc/init.d/docker
sudo /etc/init.d/docker stop
sudo /etc/init.d/docker start

这将禁用HTTPS,现在你可以做

curl -v http://192.168.59.103:2375/info

请注意不同的端口!

你仍然想使用你的正常docker命令,所以进入你.bashrc并改变这个网址:

export DOCKER_HOST=tcp://192.168.59.103:2376
export DOCKER_CERT_PATH=/Users/kevinsimper/.boot2docker/certs/boot2docker-vm
export DOCKER_TLS_VERIFY=1

export DOCKER_HOST=tcp://192.168.59.103:2375
export DOCKER_CERT_PATH=/Users/kevinsimper/.boot2docker/certs/boot2docker-vm
export DOCKER_TLS_VERIFY=0


文章来源: How to enable docker remote api rest in mac OS X with boot2docker?