1.docker-machine是什么?
什么是docker-machine,简单来说就是给你快速创建一个docker容器环境的,怎么说呢,
如果你要给100台阿里云ECS安装上docker,传统方式就是你一台一台ssh上去安装,
但是有了docker-machine就不一样了,你可以快速给100台ecs安装上docker,怎么快速法呢,你看完这文章就知道了。
还有就是你要在本地快读创建docker集群环境,我总不能一台一台创建虚拟机吧,所以docker-machine可以解决这个问题。
docker-machine就是docker公司官方提出的,用于在各种平台上快速创建具有docker服务的虚拟机的技术
甚至可以通过指定driver来定制虚拟机的实现原理(一般是virtualbox)Docker 与 Docker Machine 的区别
Docker 是一个 Client-Server 架构的应用,Docker是大家对Docker Engine简称
Docker包括以下三个部分
Docker daemon
一套与 Docker daemon 交互的 REST API
一个命令行客户端
下图很清晰的展示了它们之间的关系
Docker Machine 则是一个安装和管理 Docker 的工具。它有自己的命令行工具:docker-machine
2.docker-machine命令
先docker-machine --help 查看一下所有命令
docker-machine active | 显示当前的活动主机 |
---|---|
docker-machine config | 显示连接主机的配置 |
docker-machine create | 创建一个主机 |
docker-machine env | 设置当前的环境与哪个主机通信 |
docker-machine inspect | 查看主机的详细信息 |
docker-machine ip | 查看主机的IP |
docker-machine kill | 强制关闭一个主机 |
docker-machine ls | 查看所有的主机信息 |
docker-machine provision | 重新配置现在主机 |
docker-machine regenerate-certs | 为主机重新生成证书 |
docker-machine restart | 重启主机 |
docker-machine rm | 删除主机 |
docker-machine ssh | 以SSH的方式连接到主机上 |
docker-machine scp | 远程复制 |
docker-machine status | 查看主机的状态 |
docker-machine stop | 停止一个正在运行的主机 |
docker-machine upgrade | 升级主机的docker服务到最新版本 |
docker-machine version | 查看docker-machine版本 |
3.搭建实验环境
三台rhel7.3的虚拟机server1、server2、server3
|主机信息|主机功能|
|server1(172.25.2.1)|docker-machine管理端,装有docker服务|
|server2(172.25.2.2)|没有docker服务|
|server3(172.25.2.3)|没有docker服务|
(1)在真机当中创建三个快照
(2)导入镜像,开启三台虚拟机
(3)用真机连接三台虚拟机server1、server2、server3
(4)在真机上配置搭建共享yum源,开启apache服务,关闭防火墙
(5)刚开始三台虚拟机上面都没有docker服务,实验环境干干净净
(6)给server1配置共享yum源文件,安装docker服务
4.在server1上面利用docker-machine给server2和server3自动部署docker服务
Docker Machine 创建 Docker 主机
Docker 一个官方工具 Docker Machine(也是 Docker 三剑客之一)
其作用就是快速帮助我们搭建 Docker 主机环境,比如我们要使用 Docker Swarm
就必须有很多的 Docker 主机来进行操作,Docker Machine 就是最理想的工具
(1)在server1上面部署docker-machine
首先下载二进制文件
wget https://github.com/docker/machine/releases/download/v0.13.0/docker-machine-Linux-x86_64
我是下载到真机上面,然后从真机发送给虚拟机server1
chmod +x docker-machine-Linux-x86_64 接着修改可执行权限
mv docker-machine-Linux-x86_64 /usr/local/bin/ 移动二进制文件到/usr/local/bin/目录下
mv /usr/local/bin/docker-machine-Linux-x86_64 /usr/local/bin/docker-machine命名一个短一点的名字
docker-machine -v 最后在命令行下测试下是不是可以使用了
(2)查看各个节点的解析
(3)设置server1免密连接server2和server3
(4)使真机可以上网,从互联网上拉取自动部署doaker的脚本
(5)将拉取下来的脚本放到真机的apache共享目录下面并且作出修改给server2和server3安装docker的时候要使用真机的共享yum源
安装docker的版本要和yum源里面的版本一致
可以在浏览器里面输入真机的ip查看这个脚本
(6)server1给server2自动部署docker
(7)server1给server3自动部署docker
(8)此时自动部署已经完成,现在来验证部署中安装的一些东西
目前从server1切换到server2和server3只有docker命令才会生效,其他的都不会生效
而且切换进去的命令提示符的特征不够明显
(9)现在来解决特征不明显的问题
可以发现此时已经实现了server1明显的连接server2和server3
(10)如果server1想完全控制server2和server3就使用ssh命令
(11)可以看出利用docker-machine自动部署docker的时候会自动生成证书,加密
总结一下:
以上就是利用docker-machine自动部署docker服务的整个过程
当在实际生产环境当中需要同时为docker集群中的每一个节点部署docker的时候就可以使用docker-machine这个工具
因此把docker-machine也叫做doicker三剑客之一
来源:https://blog.csdn.net/ymeng9527/article/details/98884644