一、简介
Docker Machine 是Docker官方编排项目之一,使用go语言编写的,使用不同引擎在多种平台上快速的安装Docker环境。
Docker Machine 是一个工具,它允许你在虚拟宿主机上安装Docker,并使用docker-machine命令管理这个宿主机,可以使用Docker Machine在本地的MAC或者windows box、公司网络,数据中心或者AWS这样的云提供商上创建docker。
使用docker-machine命令,可以启动、审查、停止、重启托管的docker 也可以升级Docker客户端和守护程序并配置docker客户端和宿主机通信。
Docker Machine 也可以集中管理所以得docker主机。
二、为什么要使用 Docker Machine
Docker Machine 使你能够在各种 Linux 上配置多个远程 Docker 宿主机。
此外,Machine 允许你在较早的 Mac 或 Windows 系统上运行 Docker,如上一主题所述。
Docker Engine Linux 系统上原生地运行。如果你有一个 Linux 作为你的主系统,并且想要运行 docker 命令,所有你需要做的就是下载并安装 Docker Engine 。然而,如果你想要在网络上、云中甚至本地配置多个 Docker 宿主机有一个有效的方式,你需要 Docker Machine。
无论你的主系统是 Mac、Windows 还是 Linux,你都可以在其上安装 Docker Machine,并使用 docker-machine 命令来配置和管理大量的 Docker 宿主机。它会自动创建宿主机、在其上安装 Docker Engine 、然后配置 docker 客户端。每个被管理的宿主机(“machine”)是 Docker 宿主机和配置好的客户端的结合
三、Docker和Docker Machine之间的区别
当人们说“Docker”时,他们通常是指 Docker Engine,它是一个客户端 - 服务器应用程序,由 Docker 守护进程、一个REST API指定与守护进程交互的接口、和一个命令行接口(CLI)与守护进程通信(通过封装REST API)。Docker Engine 从 CLI 中接受docker 命令,例如 docker run
Docker Machine 是一个用于配置和管理你的宿主机(上面具有 Docker Engine 的主机)的工具。通常,你在你的本地系统上安装 Docker Machine。Docker Machine有自己的命令行客户端 docker-machine 和 Docker Engine 客户端 docker。你可以使用 Machine 在一个或多个虚拟系统上安装 Docker Engine。
这些虚拟系统可以是本地的(就像你在 Mac 或 Windows 上使用 Machine 在 VirtualBox 中安装和运行 Docker Engine 一样)或远程的(就像你使用 Machine 在云提供商上 provision Dockerized 宿主机一样)。Dockerized 宿主机本身可以认为是,且有时就称为,被管理的“machines”。
四、安装
Docker Mechine 可以在多种平台上安装使用,包括Linux 、MacOS已经windows
Docker Mechine 安装非常的简单:GitHub 地址:Releases。
安装 Docker Mechine:
curl -L https://github.com/docker/machine/releases/download/v0.15.0/docker-machine-$(uname -s)-$(uname -m) >/tmp/docker-machine &&
chmod +x /tmp/docker-machine &&
sudo cp /tmp/docker-machine /usr/local/bin/docker-machine
查看版本确认是否安装成功:
docker-machine -v
五、常用命令参数
active
查看当前激活状态的Docker主机config
查看当前激活状态Docker主机的连接信息creat
创建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主机的监听URLversion
显示Docker Machine的版本或者主机Docker版本help
显示帮助信息
评论