用docker-machine创建虚拟主机

环境

Window server 2012 R2 64

VMware Workstation 12

CentOS 7

创建虚拟主机

创建一个 oracle virtualbox 为驱动的虚拟主机,关于主机驱动可以参考官网:https://docs.docker.com/machine/drivers/

这时创建时使用了一个阿里的加速器

--engine-registry-mirror https://1rqn7spi.mirror.aliyuncs.com

[root@docker4 ~]# docker-machinecreate --driver virtualbox --engine-registry-mirror https://1rqn7spi.mirror.aliyuncs.com host1

 

Creating CA:/root/.docker/machine/certs/ca.pem

Creating client certificate:/root/.docker/machine/certs/cert.pem

Running pre-create checks...

Error with pre-create check:"VBoxManage not found. Make sure VirtualBox is installed and VBoxManage isin the path"

 

这里出现了错误,是因为没有安装virtualbox

 

安装virtualbox

下载方法一:

下载地址https://www.virtualbox.org/wiki/Linux_Downloads,下载安装包,然后上传到/root

下载方法二:

[root@docker4 ~]# yum -yinstall wget

[root@docker4 ~]# wgethttp://download.virtualbox.org/virtualbox/rpm/rhel/7/x86_64/VirtualBox-5.1-5.1.20_114628_el7-1.x86_64.rpm

 

[root@docker4 ~]# yum -yinstall VirtualBox-5.1-5.1.20_114628_el7-1.x86_64.rpm

 

[root@docker4 ~]#docker-machine create --driver virtualbox --engine-registry-mirrorhttps://1rqn7spi.mirror.aliyuncs.com host1

Running pre-create checks...

Error with pre-create check: "This computerdoesn't have VT-X/AMD-v enabled. Enabling it in the BIOS is mandatory"

 

此错误有两处需要注意:

1、BIOS需要开起硬件虚拟化支持

2、不要用Oracle VM virtaulbox创建虚拟机,Oracle VM virtaulbox不支持嵌套虚拟机。本文用的是VMware Workstation,所以是在 虚拟机->设置 里设置处理器的虚拟化引擎首选模式为“Intel VT-x/EPT 或AMD-V/RVI”及“虚拟化Intel VT-x/EPT 或AMD-V/RVI(V)”

 

 [root@docker4~]# docker-machine create --drivervirtualbox --engine-registry-mirror https://1rqn7spi.mirror.aliyuncs.com host1

 

Running pre-create checks...

Creating machine...

(host3) Copying/root/.docker/machine/cache/boot2docker.iso to/root/.docker/machine/machines/host3/boot2docker.iso...

(host3) Creating VirtualBox VM...

(host3) Creating SSH key...

Wrapper Docker Machine process exiting due toclosed plugin server (read tcp 127.0.0.1:52580->127.0.0.1:33112: read:connection reset by peer)

Error creating machine: Error in driver duringmachine creation: read tcp 127.0.0.1:52580->127.0.0.1:33112: read:connection reset by peer

 

到源码网址:https://github.com/boot2docker/boot2docker/releases 下载boot2docker.iso

然后上传到/root/.docker/machine/cache

 

[root@docker4 ~]# docker-machine create --driver virtualbox --engine-registry-mirror https://1rqn7spi.mirror.aliyuncs.com host1

 

Running pre-create checks...

Creating machine...

(host2) Copying/root/.docker/machine/cache/boot2docker.iso to/root/.docker/machine/machines/host2/boot2docker.iso...

(host2) Creating VirtualBox VM...

(host2) Creating SSH key...

(host2) Starting the VM...

(host2) Check network to re-create if needed...

(host2) Found a new host-only adapter:"vboxnet0"

(host2) Waiting for an IP...

Waiting for machine to be running, this may take afew 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 remotedaemon...

Checking connection to Docker...

Docker is up and running!

To see how to connect your Docker Client to theDocker Engine running on this virtual machine, run: docker-machine env host1

 

到这里虚拟机就创建成功了。

 

下面查看虚拟机列表

[root@localmachine2host ~]# docker-machine ls

NAME    ACTIVE   DRIVER      STATE     URL                         SWARM   DOCKER       ERRORS

host1   -        virtualbox   Running  tcp://192.168.99.100:2376          v17.06.0-ce  

 


用本机docker客户端指向host1的docker

[root@localmachine2host ~]# eval $(docker-machine env host1)

[root@localmachine2host ~]# docker info

 

你可能感兴趣的:(docker)