Docker Machine 是 Docker 官方编排(Orchestration)项目之一,负责在多种平台上快速安装 Docker 环境。
Docker Machine支持在常规Linux操作系统、虚拟化平台、openstack、公有云等不同环境下安装配置docker host。
Docker Machine 项目基于 Go 语言实现,目前在 Github 上的维护地址: https://github.com/docker/machine/
Docker Machine安装
(受控主机已经安装了docker-ce的)
创建流程:
ssh免密登陆远程主机
安装docker软件包
复制证书
配置docker daemon
启动docker
- 创建machine:
machine指的是docker daemon主机,其实就是在host上安装和部署docker。 - 创建machine要求免密登陆远程主机:
ssh-keygen
ssh-copy-id 目标ip
- 创建主机:(离线安装需要在目标主机提前安装好docker软件包)
docker-machine create --driver generic --generic-ip-address=172.25.1.2 server2
查看docker主机上生成的配置文件
远程控制
控制时执行的docker指令全部在server2主机中生效
退出时断开ssh重连即可
bash-completion.noarch ##一定要装
安装bash脚本,使得行提示符更加的人性化:
# base=https://raw.githubusercontent.com/docker/machine/v0.16.1
# for i in docker-machine-prompt.bash docker-machine-wrapper.bash docker-machine.bash
do
wget “
b
a
s
e
/
c
o
n
t
r
i
b
/
c
o
m
p
l
e
t
i
o
n
/
b
a
s
h
/
base/contrib/completion/bash/
base/contrib/completion/bash/{i}” -P /etc/bash_completion.d
done
# vim ~/.bashrc
PS1=’[\u@\h \W$(__docker_machine_ps1)]$ ’
重连使bash生效
显示连接的server2
受控机器没有安装了docker-ce
yum仓库
docker-ce包以及依赖
解决免密连接
下载源
修改412行
放在源主机的http目录下
##使用基础的引擎generic
测试
docker-machine 子命令:
docker-machine upgrade server2 更新docker版本
docker-machine config server2 查看machine配置
docker-machine scp 可以在machine中复制文件
docker-machine ssh 连接machine
docker-machine rm 删除machine