23.3 使用Machine
Docker Machine通过多种后端驱动来管理不同的资源,包括虚拟机、本地主机和云平台等。
通过-d选项可以选择支持的驱动类型。
1.虚拟化平台
可以通过virtualbox驱动支持本地(需要已安装virtualbox)启动一个虚拟机并配置为Docker主机:
- $ docker-machine create --driver=virtualbox vbox-instance
将启动一个全新的虚拟机,并安装Docker引擎。
此外,还支持Microsoft Hyper-V虚拟化平台。
2.本地主机
这种驱动适合主机操作系统和SSH服务都已经安装好,需要对其安装Docker引擎。
首先确保本地主机可以通过user账号的key直接通过ssh连到目标主机。使用generic类型的驱动,注册一台Docker主机,命名为test:
- $ docker-machine create -d generic --generic-ip-address=10.0.100.102 --generic-
- ssh-user=user test
- Running pre-create checks...
- Creating machine...
- (test) OUT | Importing SSH key...
- Waiting for machine to be running, this may take a few minutes...
- Machine is running, waiting for SSH to be available...
- Detecting operating system of created instance...
- Detecting the provisioner...
- Provisioning created instance...
- ...
从命令输出上可以看到,Machine通过SSH连接到指定节点,并在上面安装Docker引擎。
创建主机成功后,可以通过docker-machine ls命令来查看注册到本地管理列表中的Docker主机:
- $ docker-machine ls
- NAME ACTIVE DRIVER STATE URL SWARM
- test - generic Running tcp://10.0.100.102:2376
还可以通过inspect命令查看指定Docker主机的具体信息。
3.云平台驱动
以Amazon Web Services云平台为例,配置其上的虚拟机为Docker主机。
需要指定Access Key ID、Secret Access Key、VPC ID等信息。例如:
- $ docker-machine create --driver amazonec2 --amazonec2-access-key AKI*******
- --amazonec2-secret-key 8T93C********* --amazonec2-vpc-id vpc-******
- aws_instance
其他支持的云平台还包括Microsoft Azure、Digital Ocean、Exoscale、Google Compute Engine、Rackspace、IBM Softlayer等。
