Docker Machine是负责使用 Docker 容器的第一步:在多种平台上快速安装和维护 Docker运行环境。它支持多种平台,让用户可以在很短时间内在本地或云环境中搭建一套 Docker 主机集群。本文主要学习Docker Machine项目的具体情况,以及安装和使用的相关命令。
Machine 项目是 Docker 官方的开源项目,负责实现对 Docker 运行环境进行安装和管理,特别在管理多个 Docker 环境时,**Docker Machine **可以集中管理所有的 docker 主机,比如快速的给 300 台服务器安装上 docker。
Machine的定位是“在本地或者云环境中创建Docker 主机"。其代码在https://github.com/docker/machine 上开源。
使用 docker-machine 命令,您可以启动,检查,停止和重新启动托管主机,也可以升级 Docker 客户端和守护程序,以及配置 Docker 客户端与您的主机进行通信。
Docker Machine 可以在多种平台上安装使用,包括 Linux 、MacOS 以及 windows。
相关版本https://github.com/docker/machine/releases
base=https://github.com/docker/machine/releases/download/v0.16.0 && curl -L $base/docker-machine-$(uname -s)-$(uname -m) >/tmp/docker-machine && sudo mv /tmp/docker-machine /usr/local/bin/docker-machine && chmod +x /usr/local/
bin/docker-machine
base=https://github.com/docker/machine/releases/download/v0.16.0 &&
curl -L $base/docker-machine-$(uname -s)-$(uname -m) >/usr/local/bin/docker-machine &&
chmod +x /usr/local/bin/docker-machine
如果你是 Windows 平台,可以使用 Git BASH,并输入以下命令:
base=https://github.com/docker/machine/releases/download/v0.16.0 &&
mkdir -p "$HOME/bin" &&
curl -L $base/docker-machine-Windows-x86_64.exe > "$HOME/bin/docker-machine.exe" &&
chmod +x "$HOME/bin/docker-machine.exe"
docker-machine -v
docker-machine version 0.16.0, build 702c267f
可以通过 virtualbox 驱动支持本地(需要已安装virtualbox) 启动一个虚拟机环境,并配置为 Docker 主机:
docker-machine create --driver=virtualbox test
–driver:指定用来创建机器的驱动类型,这里是 virtualbox。
将启动一个全新的虚拟机,并安装 Docker 引擎。
安装成功后,可以通过docker-machine env
命令查看访问所创建 Docker 环境所需要的配置信息:
docker-machine env test
这种驱动适合主机操作系统和 SSH 服务都巳经安装好,需要对其安装 Docker 引擎。
首先确保本地主机可以通过 user 账号的 key 直接 ssh 到目标主机。使用generic 类型的驱动,注册一台 Docker 主机,命名为 test:
docker-machine create -d generic --generic-ip-address=lO.0.100.102 --generic-ssh-user=user test
Amazon Web Services 云平台为例,配置其上的虚拟机为 Docker 主机。
需要指定 Access Key ID Secret Access Key VPCID 等信息。例如:
docker-machine create --driver amazonec2 --amazonec2-access-key AKI******* --amazonec2-secret-key 8T93C********* --amazonec2-vpc-id vpc-****** aws_instance
默认情况下,所有的客户端配置数据都会自动存放在~/.docker/machine/machines/路径下。用户可以定期备份这一目录以避免出现客户端连接配置丢失。
当然,该路径下内容仅为客户端侧的配置和数据,删除其下内容并不会影响到已经创建Docker 环境。
docker-machine 命令参数说明
active:查看当前激活状态的 Docker 主机
config:查看当前激活状态 Docker 主机的连接信息。
create:创建 Docker 主机
env:显示连接到某个主机需要的环境变量
inspect: 以 json 格式输出指定Docker的详细信息
ip: 获取指定 Docker 主机的地址
kill: 直接杀死指定的 Docker 主机
ls: 列出所有的管理主机
provision: 重新配置指定主机
regenerate-certs: 为某个主机重新生成 TLS 信息
restart: 重启指定的主机
rm: 删除某台 Docker 主机,对应的虚拟机也会被删除
ssh: 通过 SSH 连接到主机上,执行命令
scp: 在 Docker 主机之间以及 Docker 主机和本地主机之间通过 scp 远程复制数据
mount: 使用 SSHFS 从计算机装载或卸载目录
start: 启动一个指定的 Docker 主机,如果对象是个虚拟机,该虚拟机将被启动
status: 获取指定 Docker
主机的状态(包括:Running、Paused、Saved、Stopped、Stopping、Starting、Error)等stop: 停止一个指定的 Docker 主机
upgrade: 将一个指定主机的 Docker 版本更新为最新
url: 获取指定 Docker 主机的监听 URL
version: 显示 Docker Machine 的版本或者主机 Docker 版本
help: 显示帮助信息
点赞 收藏 关注
世事洞明皆学问,人情练达即文章。