2017-03-02 125 views
0

我有一個啓動我的應用程序服務器的docker-compose.yml文件。然後我使用一些不同的工具對它進行集成/壓力測試。跨平臺的Docker容器/ VM的一致主機名?

但是,在我的Mac上,應用程序服務器在localhost上啓動,在Windows上它在VirtualBox VM上以192.168.99.100開頭。

我聽說docker-machine ip是一個跨平臺的方式來 「發現」 你的Docker容器,它適用於Windows:

[email protected] MINGW64 ~ 
$ docker-machine ip 
192.168.99.100 

但在我的Mac:

craig$ docker-machine ip 
Error: No machine name(s) specified and no "default" machine exists 

是有沒有辦法使用docker-machine或其他一些已經建立的方法來找到跨平臺的容器主機名?

我的目標是在新的Mac和新的Windows環境下運行,不需要任何配置。我可以更新所有的腳本來檢查Windows與Mac(vs Unix),但是我必須在一堆不同的地方複製邏輯。

+0

也許這樣? 「docker inspect -f'{{.NetworkSettings.Networks}} {{IPAddress}} {{end}}'container_name' 或這可能是有用的」碼頭網絡檢查橋「 – barat

回答

1

碼頭機提供了一個在您的環境中設置$DOCKER_HOST的包裝。所以你可以檢查這個變量,如果它的定義剝離了端口號,那就是你的目標IP。如果沒有定義,可以使用localhost

+0

它填充在Windows與'tcp://192.168.99.100:2376'),但不是在Mac上 - 所以我認爲這可能工作。 –