Docker机器如何被标记为活动?

我正在通过https://docs.docker.com/v1.5/machine/上的“Docker机器用户指南”进行操作。

它说:

You can see the machine you have created by running the docker-machine ls command again: $ docker-machine ls NAME ACTIVE DRIVER STATE URL dev * virtualbox Running tcp://192.168.99.100:2376 The * next to dev indicates that it is the active host. 

当我运行这个我没有看到*旁边的任何机器。 我需要做些什么来使机器被标记为活动? 这有什么好处吗?

例如,我在Windows 10上运行Docker Machine,使其处于活动状态,这意味着我不必在我的命令中指定机器名称,例如docker-machine env dev

我认为只是运行下面的命令应该工作:

 $ eval $(docker-machine env default) 

(其中default是机器的名称)。

*的原因是告诉你哪个机器目前连接到,例如,如果你运行docker ps哪个Docker引擎会跟它通话?

在当前版本的Docker机器中,我相信你必须始终指定名称。

使用下面的命令为Docker for Windows容器与Powershell使机器处于活动状态:

 #Powershell command PS: docker-machine env default #output might me like this $Env:DOCKER_TLS_VERIFY = "1" $Env:DOCKER_HOST = "tcp://172.16.104.171:2376" $Env:DOCKER_CERT_PATH = "C:\Users\username\.docker\machine\machines\default" $Env:DOCKER_MACHINE_NAME = "default" #DOCKER_HOST environmental variable should has same value as default machine PS:$Env:DOCKER_HOST = "tcp://172.16.104.171:2376" # should be same as default machine Env:DOCKER_HOST #Now list docker machines, default will be active. PS: docker-machine ls #default is not active and it look like this. NAME ACTIVE DRIVER STATE URL SWARM DOCKER ERRORS default * hyperv Running tcp://172.16.104.171:2376 v1.12.3 manager1 - hyperv Running tcp://172.16.104.168:2376 v1.12.3 

docker

它的'非常简单,答案就在于从Docker网站: https ://docs.docker.com/machine/reference/active/如果DOCKER_HOST环境variables指向一台机器被认为是活动的:

所以,我们先说一下:

 $ docker-machine ls NAME ACTIVE DRIVER STATE URL dev - virtualbox Running tcp://192.168.99.103:2376 staging * digitalocean Running tcp://203.0.113.81:2376 

如果你检查:

 $ echo $DOCKER_HOST tcp://203.0.113.81:2376 ====> it will point to staging 

你现在要做的就是(在Dockerterminal上试用):

 $ DOCKER_HOST=tcp://192.168.99.103:2376 

现在如果你检查:

 $ docker-machine ls NAME ACTIVE DRIVER STATE URL dev * virtualbox Running tcp://192.168.99.103:2376 staging - digitalocean Running tcp://203.0.113.81:2376 

活动的容器已经移动到'dev'! 从现在起,所有你的命令,比如“docker container ls”,等等,都应该反映你最近使用的容器。

但是请注意,这种安排只适用于您更改默认容器的Dockerterminal,也就是说,如果您closures并重新打开新的terminal或打开另一个Dockerterminal,则原始默认容器(本例中的分段)将处于活动状态。