一步步创建第一个Docker App —— 2. 创建 Docker化 主机

Posted copperface

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了一步步创建第一个Docker App —— 2. 创建 Docker化 主机相关的知识,希望对你有一定的参考价值。


部署voting app的第一步,是为集群节点(swarm nodes)创建 Docker machines。我们可以在不同的实体PC、虚拟机或者云服务器上创建这些 Docker化 的主机。

在本例中,我们使用Docker Machine来创建两个虚拟机(virtual machines)在同一个系统上(See Docker Machine Overview to learn more.)。

创建 manager 和 worker 虚拟机

使用 docker machine 创建一个本地的 virtual machine
docker-machine create --driver hyperv <HOSTNAME>
这里使用的是 windows 里的 hyperv 创建的虚拟机

创建过程中出现一个 
   Error creating machine: Error in driver during machine creation: exit status 1
解决方案:
  •    按照链接https://docs.docker.com/machine/drivers/hyper-v/的说明,配置系统。
  •    首先在Hyperv管理工具里面,创建一个新的虚拟交换机,并使用外部链接(如果不指定,默认链接到系统的DockerNAT上,它是在docker安装时候创建的,用于 docker for windows 的,不是给我们使用的)
  •    然后将创建的新虚拟机,主动链接到该交换机上 
  •    重启
  •    注意:创建虚拟交换机时,要选择实体网卡;创建过程要在管理员模式下进行,不然会出现一直停在waiting for host
下面是一个创建的例子:
PS C:\\WINDOWS\\system32>  docker-machine create -d hyperv --hyperv-virtual-switch "Primary Virtual Switch" --hyperv-disk-size "5000" --hyperv-memory "512" manager
Running pre-create checks...
Creating machine...
(manager1) Copying C:\\Users\\Vicky\\.docker\\machine\\cache\\boot2docker.iso to C:\\Users\\Vicky\\.docker\\machine\\machines\\manag
er1\\boot2docker.iso...
(manager1) Creating SSH key...
(manager1) Creating VM...
(manager1) Using switch "Primary Virtual Switch"
(manager1) Creating VHD
(manager1) Starting VM...
(manager1) Waiting for host to start...
Waiting for machine to be running, this may take a few minutes...
Detecting operating system of created instance...
Waiting for SSH to be available...
Detecting the provisioner...
Provisioning with boot2docker...
Copying certs to the local machine directory...
Copying certs to the remote machine...
Setting Docker configuration on the remote daemon...
Checking connection to Docker...
Docker is up and running!
To see how to connect your Docker Client to the Docker Engine running on this virtual machine, run: C:\\Program Files\\Doc
ker\\Docker\\Resources\\bin\\docker-machine.exe env manager1
PS C:\\WINDOWS\\system32>
 
验证虚拟机的IP地址
使用命令 docker-machine ls 来验证。
PS C:\\Users\\Administrator> docker-machine ls
NAME      ACTIVE   DRIVER   STATE     URL                       SWARM   DOCKER    ERRORS