docker-machine是什么?
Docker Machine是一个简化Docker安装的命令行工具,通过一个简单的命令行即可在相应的平台上安装Docker,比如VirtualBox、 Digital Ocean、Microsoft Azure。Docker官方是这样介绍Machine的初衷的:
之前,Docker的安装流程非常复杂,用户需要登录到相应的主机上,根据官方的安装和配置指南来安装Docker,并且不同的操作系统的安装步骤也是不一样的。而有了Machine后,不管是在笔记本、虚拟机还是公有云实例上,用户仅仅需要一个命令….
为什么要使用docker machine
在Docker Machine发布之前,你可能会遇到以下问题:
你需要登录主机,按照主机及操作系统特有的安装以及配置步骤安装Docker,使其能运行Docker容器。
你需要研发一套工具管理多个Docker主机并监控其状态。
你在本地开发,产品部署在公有云平台,你希望能尽可能的减小两个环境的差异性
Docker Machine的出现解决了以上问题。
Docker Machine简化了部署的复杂度,无论是在本机的虚拟机上还是在公有云平台,只需要一条命令便可搭建好Docker主机
Docker Machine提供了多平台多Docker主机的集中管理
Docker Machine 使应用由本地迁移到云端变得简单,只需要修改一下环境变量即可和任意Docker主机通信部署应用。
安装docker-machine
#执行以下命令即可安装docker-machine
curl -L https://github.com/docker/machine/releases/download/v0.14.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 version来查看是否安装成功
配置ssh免密登录(在安装docker-machine的机子上)
#生成公钥和秘钥 一路回车到底即可
ssh-keygen
#将公钥拷贝到指定主机
ssh-copy-id 192.168.0.150
使用docker-machine在远程主机上安装docker环境
#启用visiblepw 为了避免出现Error running provisioning: Something went wrong running an SSH command!错误
vi /etc/sudoers
#Defaults visiblepw
#按wq!保存退出!
docker-machine create -d generic --generic-ip-address=192.168.0.150 --generic-ssh-key ~/.ssh/id_rsa m1
docker-machine 常用命令
help
查看帮助信息
active
查看活动的Docker主机
config
输出连接的配置信息
create
创建一个Docker主机
env
显示连接到某个主机需要的环境变量
inspect
输出主机更新信息
ip
获取Docker主机地址
kill
停止某个Docker主机
ls
列出所有管理的Docker主机
regenerate-certs
为某个主机重新成功TLS认证信息
restart
重启Docker主机
rm
删除Docker主机
scp
在Docker主机之间复制文件
ssh
SSH到主机上执行命令
start
启动一个主机
status
查看一个主机状态
stop
停止一个主机
upgrade
更新主机Docker版本为最新
url
获取主机的URL