2017-04-21 54 views
2

我想從容器內訪問Docker遠程API,因爲我需要啓動其他容器。從容器訪問碼頭遠程API

主機地址爲172.19.0.1,所以我用http://172.19.0.1:2375/images/json獲取圖像的列表(由主機,http://localhost:2375/images/json按預期工作。

連接被拒絕,我猜是因爲碼頭工人(適用於Windows)偵聽。127.0.0.1而不是0.0.0.0

我試圖改變配置(無論從UI和daemon.json)添加條目:

"hosts": ["tcp://0.0.0.0:2375"] 

但守護進程無法啓動。我如何訪問api?

+0

您提到您正在使用Docker for Windows,但未提及您正在使用的容器類型。您是使用Windows容器還是Linux容器? –

回答

1

您可以在Windows中設置DOCKER_OPTS,如下所示並嘗試。在Windows中,Docker在VM內運行。所以,你必須進入虛擬機並進行修改。

DOCKER_OPTS='-H tcp://0.0.0.0:4243 -H unix:///var/run/docker.sock' 

檢查它是否適用於您。

更新: - SSH到虛擬機(假設默認爲您已使用泊塢窗工具箱創建虛擬機的名稱),在泊塢快速入門終端輸入下面的命令,

docker-machine ssh default 

你可以找到更多詳細信息here

+0

ssh的地址是什麼(或者我怎麼能找到它)? – fra

+0

此外,我發現建議反對公開套接字:https://www.lvh.io/posts/dont-expose-the-docker-socket-not-even-to-a-container.html這似乎是行爲與DOCKER_OPTS。解決方案是否安全? – fra

+0

請檢查更新後的答案 – qwerty