跨平台的Docker容器/ VM的一致主机名?

时间:2017-03-02 14:32:51

标签: docker cross-platform docker-compose docker-machine

我有一个启动应用程序服务器的docker-compose.yml文件。然后,我使用一些不同的工具来对其进行集成/压力测试。

但是,在我的Mac上,应用程序服务器在localhost上启动,在Windows上,它在192.168.99.100的VirtualBox VM上启动。

我听说docker-machine ip是一种“找到”Docker容器的跨平台方式,适用于Windows:

Craig@Work-PC 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 vs Mac(vs Unix),但是我必须在一堆不同的地方复制逻辑。

1 个答案:

答案 0 :(得分:1)

Docker机器提供环境中设置localhost的包装器。因此,您可以检查此变量,如果它已定义剥离端口号并且是您的目标IP。如果没有定义,您可以使用{{1}}。