Docker Machine如何标记为活动?

时间:2015-10-19 10:09:19

标签: docker docker-machine

我正在使用https://docs.docker.com/v1.5/machine/上的Docker 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 Machine,将其激活是否意味着我不必在我的命令中指定机器名称,例如docker-machine env dev

3 个答案:

答案 0 :(得分:36)

我认为只运行以下命令应该有效:

$ eval $(docker-machine env default)

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

*的原因是告诉您当前连接到哪台计算机,例如如果你运行docker ps哪个Docker引擎会与之交谈?

在当前版本的Docker机器中,我认为您必须始终指定名称。

答案 1 :(得分:5)

使用以下命令为Docker for Windows Container和Powershell使机器处于活动状态:

$('#div1').scrollTop($('#div1')[0].scrollHeight);

基座

答案 2 :(得分:2)

及其'非常简单,答案就在于声明"如果DOCKER_HOST环境变量指向它,机器被认为是活动的"来自docker网站: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

活跃的容器已移至“开发”!从现在开始,你的所有命令都像#docker container ls'等应该反映你新活跃的容器。

但请注意,此安排仅适用于您更改默认容器的Docker终端,即如果您关闭并重新打开新终端或打开另一个Docker终端,则原始默认容器(此示例中的暂存)将处于活动状态