原先,我们使用Boot2Docker在OSX下管理Docker。在Docker发布了 Toolbox 之后,新增了 Docker Machine 命令行。通过 docker-machine ,可以让我们以一致化的命令在本地或者云计算上创建 docker 服务。同时很方便的切换 docker 命令对应的目标服务器。
一、安装 Docker Toolbox
Docker Toolbox 安装包包含了:
docker 客户端
docker-machine 工具
docker-compose 工具
Kitematic 一个Docker的GUI
我们可以在 官网 或者 DaoCloud 镜像 下载并安装。
二、将Boot2Docker迁移到Docker Machine
如果原先并没有使用Boot2Docker,可以直接忽略
使用命令:
docker-machine create -d virtualbox –virtualbox-import-boot2docker-vm boot2docker-vm dev
-d virtualbox
使用virtualbox驱动
–virtualbox-import-boot2docker-vm boot2docker-vm
导入virtualbox中boot2docker的vm boot2docker原先在virtualbox创建的虚拟机名字为 boot2docker-vm
dev
可以根据自己需要设置 docker-machine 中的机器名
三、Docker Machine 使用
1. 创建一台新的 Docker Machine
docker-machine create –driver virtualbox default
–driver virtualbox
本机使用的话 使用virtualbox驱动
driver 还可以是amazonec2, azure, digitalocean, exoscale, generic, google, openstack, rackspace, softlayer, virtualbox, vmwarefusion, vmwarevcloudair, vmwarevsphere 等 配置对应的秘钥和参数后 可以直接在云服务中创建设备
default
docker-machine 中的机器名 之后的管理命令均使用该名称
2. 设置环境变量
在创建好 Docker Machine 之后,需要让本地的 docker 客户端了解需要连接的 docker 目标服务器地址,或者在不同的docker服务器之间切换,因此需要设置环境变量。
eval “$(docker-machine env default)”
–driver virtualbox
default
之前创建的machine的名称
3. 使用docker客户端管理docker
当我们将环境变量配置完成之后,我们就可以在本地操作docker一下,使用docker命令管理docker设备了
三、Docker Machine 管理
docker machine 提供了一系列命令来管理对应的docker设备
以下是 boot2docker 与 docker-machine 命令的对照表 使用 docker-machine 时 最后都需要跟上对应的设备名称
boot2docker |
docker-machine |
docker-machine description |
---|---|---|
init | create | 创建新的docker主机 |
up | start | 启动一个关闭的主机 |
ssh | ssh | 通过ssh连接到对应的docker主机 |
save | – | |
down | stop | 关闭正在运行时的主机 |
poweroff | stop | 关闭正在运行时的主机 |
reset | restart | 重启正在运行的主机 |
config | inspect | 获取主机的参数配置信息 |
status | ls | 列出所有主机及其状态 |
info | inspect | 获取主机的参数配置信息 |
ip | ip | 获取主机的IP地址 |
shellinit | env | 设置主机的环境变量 |
delete | rm | 删除主机 |
download | – | |
upgrade | upgrade | 将主机的docker客户端更新到最新版本 |