Docker 机器如何标记为活动的?
How is a Docker Machine marked as active?
我正在阅读 Docker 机器用户指南 https://docs.docker.com/v1.5/machine/。
它说:
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机器的当前版本中,我相信您必须始终指定名称。
使用下面的命令 Docker for Windows Container with 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 网站的声明 "a machine is considered active if the DOCKER_HOST environment variable points to it" 中:https://docs.docker.com/machine/reference/active/
所以,让我们先说:
$ 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 终端上试过):
$ 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' 等)都应该反映您新激活的容器。
但请注意,此安排仅适用于您更改了默认容器的 Docker 终端,即如果您关闭并重新打开一个新终端或打开另一个 Docker 原始默认终端容器(在此示例中为暂存)将处于活动状态。
我正在阅读 Docker 机器用户指南 https://docs.docker.com/v1.5/machine/。
它说:
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机器的当前版本中,我相信您必须始终指定名称。
使用下面的命令 Docker for Windows Container with 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 网站的声明 "a machine is considered active if the DOCKER_HOST environment variable points to it" 中:https://docs.docker.com/machine/reference/active/
所以,让我们先说:
$ 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 终端上试过):
$ 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' 等)都应该反映您新激活的容器。
但请注意,此安排仅适用于您更改了默认容器的 Docker 终端,即如果您关闭并重新打开一个新终端或打开另一个 Docker 原始默认终端容器(在此示例中为暂存)将处于活动状态。