一步步创建第一个Docker App —— 2. 创建 Docker化 主机
Posted copperface
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了一步步创建第一个Docker App —— 2. 创建 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