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,则原始默认容器(本例中的分段)将处于活动状态。