2017-03-02 76 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上 - 所以我认为这可能工作。 –

相关问题