在OSX上的多个终端选项卡中使用docker / docker-machine

时间:2016-06-24 23:13:42

标签: macos docker terminal docker-machine

我在一个标签中有了docker wokring但是开始使用它来做其他事情。我打开了一个新标签并尝试运行docker build,但出现了此错误:

Cannot connect to the Docker daemon. Is the docker daemon running on this host?

正在运行docker-machine env default会出现此错误:

Error checking TLS connection: Host is not running

然后我跑了docker-machine start default得到了这个(它永远挂了):

Starting "default"...
(default) Waiting for an IP...

当我关闭原始标签时,我使用了docker,然后再次运行docker-machine start default并得到:

Starting "default"...
Machine "default" is already running.

现在该标签中的一切正常。

如何让docker命令在多个Terminal选项卡中工作?

2 个答案:

答案 0 :(得分:3)

在要使用Docker的每个终端中执行此命令。

eval "$(docker-machine env default)"

答案 1 :(得分:3)

在OS X(使用Core2Duo)上,您通常应该使用 Docker QuickStart Terminal.app 。它为你做了命令

eval $(docker-machine env default) 

更确切地说它

bash -c "clear && DOCKER_HOST=tcp://192.168.99.100:2376 \
DOCKER_CERT_PATH=/Users/metzger9/.docker/machine/machines/de‌​fault \
DOCKER_TLS_VERIFY=1 /bin/bash"

您可以使用CTRL-D查看它,注销会话,然后使用上箭头查找最后一个命令。

最佳解决方案是记录

的结果
docker-machine env default 
.bash_profile 中的

。下次打开OS X终端时,您将拥有

env

使docker运行所需的变量(几乎与原生一样)