10. docker machine


10.1 什么是docker Machine?


•Docker Machine 是 Docker 官方提供的一个工具,它可以帮助我们在远程的机器上安装 Docker,或者在虚拟机 host 上直接安装虚拟机并在虚拟机中安装 Docker。我们还可以通过 docker-machine 命令来管理这些虚拟机和 Docker。下面是来自 Docker Machine 官方文档的一张图,很形象哦!

  1. 是一个远程管理工具
  2. 帮助我们在远程的主机上安装和配置Docker
  3. 帮助我们在远程的虚拟主机(virtualbox、vsphere等等)上安装和配置Docker

10.2 安装docker Machine


我们参考官网给出的安装教程: https://docs.docker.com/machine/install-machine/

  1. Macos:
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
  1. linux
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
  1. 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"

10.3 docker Machine应用


如果我们有多台 centos主机都需要安装 Docker,怎么办呢?是不是一个个登录上去通过yum命令安装呢?当然不需要,通过 docker-machine 命令我们可以轻松的在远程主机上安装 Docker

安装和配置:两台主机:

node1: 192.168.119.150

node2: 192.168.119.151前提:配置node1和node2之间的免密码登录

  • 在node1 上安装docker machine

按照上面的安装教程, 安装docker machine

  • 在node1上安装node2节点上的docker环境
docker-machine create -d generic --generic-ip-address=192.168.119.151 --generic-ssh-user=root --generic-ssh-key ~/.ssh/id_rsa remotenode2

•注意:等待的时间很长

10.4 docker-machine的常用命令


下面都是docker-machine后加的命令就是docker-machine command;每个参数又都是有help的,可以通过docker-machine COMMAND --help来查看。

  • active 查看活跃的 Docker 主机
  • config 输出连接的配置信息
  • create 创建一个 Docker 主机
  • env 显示连接到某个主机需要的环境变量
  • inspect 输出主机更多信息
  • ip 获取主机地址
  • kill 停止某个主机
  • ls 列出所有管理的主机
  • provision 重新设置一个已存在的主机
  • regenerate-certs 为某个主机重新生成 TLS 认证信息
  • restart 重启主机
  • rm 删除某台主机
  • ssh SSH 到主机上执行命令
  • scp 在主机之间复制文件
  • mount 挂载主机目录到本地
  • start 启动一个主机
  • status 查看主机状态
  • stop 停止一个主机
  • upgrade 更新主机 Docker 版本为最新
  • url 获取主机的 URL
  • version 输出 docker-machine 版本信息
  • help 输出帮助信息