首先我们讨论什么是docker-machine?
docker官网上给我们的答案是你可以用docker-machine做如下几件事情:
(1)在你的windows或者mac上安装和运行docker(官方说这是唯一一种能让docker v1.12之前版本运行在非Linux平台上的方法,而且可以让docker运行在老版本的mac和windows系统上)
(2)配置和管理多个远程docker主机(在数据中心或者云提供商,例如Azure,AWS,and so on)
(3)配置Swarm集群(毕竟Google原生docker集群,影响力还是挺大的)
总之,docker-machine可以对docker进行管理、更新、配置。
------------------------------------我是分割线------------------------------------------------------------------
其次,docker machine 和docker engine有什么区别呢?
人们常说的docker一般情况下指的是docker engine,是一个由docker daemon、REST API和命令行界面(CLI)所构成的client-server application。如果你有Linux系统作为主系统,想要运行docker命令,你只需要下载安装docker engine。docker engine接收从CLI传来的docker命令,然后对docker作出一定的操作。
图为docker官网对docker engine的图解
但是,你想在网络上、云平台上或者本地配置多个docker主机,你就需要docker machine了。docker machine拥有自己的命令行(比如docker-machine ip,如果你没有安装docker machine,系统就会提示你找不到该命令),你可以使用machine在一个或者多个虚拟系统上安装docker engine,这些虚拟系统可以是本地也可以远程的。
图为官网对docker machine的图解
------------------------------------我是分割线------------------------------------------------------------------
最后,我们来介绍一下docker-machine的安装
(1)首先你得先装个docker,很简单的(yum -y install docker)
(2)下载docker machine然后设置变量:
mac系统:
$ base=https://github.com/docker/machine/releases/download/v0.14.0 &&
curl -L $base/docker-machine-$(uname -s)-$(uname -m) >/usr/local/bin/docker-machine &&
chmod +x /usr/local/bin/docker-machine
Linux系统:
$ base=https://github.com/docker/machine/releases/download/v0.14.0 &&
curl -L $base/docker-machine-$(uname -s)-$(uname -m) >/tmp/docker-machine &&
sudo install /tmp/docker-machine /usr/local/bin/docker-machine
有Git Bash的windows系统:(不一定非要有Git Bash,但是要有一个像Git Bash一样的支持Linux命令的终端仿真程序)
$ base=https://github.com/docker/machine/releases/download/v0.14.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"