Docker机器如何标记为活动?
我正在通过Docker机器用户指南工作 它说:Docker机器如何标记为活动?,docker,docker-machine,Docker,Docker 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:2
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机器,通过使其处于活动状态,这是否意味着我不必在我的命令(如
Docker Machine env dev
)中不断指定机器名称?我认为只需运行以下命令即可:
$ eval $(docker-machine env default)
(其中,default
是机器的名称)
*的原因是告诉您当前连接到哪台机器,例如,如果您运行docker ps
它将与哪台docker引擎通信
在当前版本的Docker machine中,我相信您必须始终指定名称。使用下面的命令将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
Dock很简单,答案就在DOCKER网站上的“如果DOCKER_主机环境变量指向机器,则认为机器处于活动状态”这句话中: 那么,让我们先说:
$ 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
$ 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
您现在要做的就是(在Docker终端上试用):
现在,如果您检查:
$ echo $DOCKER_HOST
tcp://203.0.113.81:2376 ====> it will point to staging
$ 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”等,都应该反映新活动的容器
但请注意,此安排仅适用于您更改默认容器的Docker终端,即,如果您关闭并重新打开一个新终端或打开另一个Docker终端,则原始默认容器(本例中的暂存)将处于活动状态。在windows>@for/f“tokens=*%i in('Docker-machine env default')DO@%i