Docker Machine

Docker Machine

一、简介

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 ps 来列出正在运行的容器、docker images 来列出镜像,等等。

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主机的监听URL
  • version 显示Docker Machine的版本或者主机Docker版本
  • help 显示帮助信息

参考:
Docker三剑客之Docker Machine

评论

暂无

添加新评论