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
下载方法一:
下载地址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