如何使用docker-machine为Docker获取HOST_IP?

我刚刚买了一台新的Mac电脑。 我的旧的Mac有一个shell脚本,包含这些行:

ACTIVE=`docker-machine active 2>/dev/null` HOST_IP=`docker-machine ip $ACTIVE` 

当我在新机器上运行它时,它不起作用。 只是独立运行docker-machine active命令,我得到这样的输出:

 No active host found 

我想我尝试创build一个默认与docker机器创build默认,但得到这个:

 dial-http tcp 127.0.0.1:49719: unexpected EOF 

我不确定我的旧版Mac运行的是什么版本的Docker,但是它是原生的。 新的Mac:

 Client: Version: 17.06.1-ce API version: 1.30 Go version: go1.8.3 Git commit: 874a737 Built: Thu Aug 17 22:53:38 2017 OS/Arch: darwin/amd64 Server: Version: 17.06.1-ce API version: 1.30 (minimum version 1.12) Go version: go1.8.3 Git commit: 874a737 Built: Thu Aug 17 22:54:55 2017 OS/Arch: linux/amd64 Experimental: true 

Docker for Mac的新版本不再使用VirtualBox和Docker-machine。 它运行在xyve上,你可以运行docker命令,如果你是在Linux主机上本地运行docker的话。 下面还有一个虚拟机(使用moby),但你的脚本不应该再看到了。 您用来连接发布端口的任何东西现在都可以连接到本地主机,就好像它直接在Mac主机上运行一样。