企业版Docker<19>—Docker三剑客之Docker Machine(自动化部署docker)

以下所有的操作都是在redhat7.5上操作


Docker Machine概述

什么是docker-machine,简单来说就是给你快速创建一个docker容器环境的,怎么说呢,如果你要给100台阿里云ECS安装上docker,传统方式就是你一台一台ssh上去安装,但是有了docker-machine就不一样了,你可以快速给100台ecs安装上docker,怎么快速法呢,你看完这文章就知道了。还有就是你要在本地快读创建docker集群环境,我总不能一台一台创建虚拟机吧,所以docker-machine可以解决这个问题。

使用Docker Machine的目的

Docker Machine 使你能够在各种 Linux 上配置多个远程 Docker 宿主机。
此外,Machine 允许你在较早的 Mac 或 Windows 系统上运行 Docker,如上一主题所述。
Docker Machine 有这两个广泛的用例。

我想在远程系统上配置 Docker 宿主机
在这里插入图片描述

Docker Engine Linux 系统上原生地运行。如果你有一个 Linux 作为你的主系统,并且想要运行 docker 命令,所有你需要做的就是下载并安装 Docker Engine 。然而,如果你想要在网络上、云中甚至本地配置多个 Docker 宿主机有一个有效的方式,你需要 Docker Machine。
无论你的主系统是 Mac、Windows 还是 Linux,你都可以在其上安装 Docker Machine,并使用 docker-machine 命令来配置和管理大量的 Docker 宿主机。它会自动创建宿主机、在其上安装 Docker Engine 、然后配置 docker 客户端。每个被管理的宿主机(“machine”)是 Docker 宿主机和配置好的客户端的结合。

Docker Engine 和 Docker Machine 区别:

当人们说“Docker”时,他们通常是指 Docker Engine,它是一个客户端 - 服务器应用程序,由 Docker 守护进程、一个REST API指定与守护进程交互的接口、和一个命令行接口(CLI)与守护进程通信(通过封装REST API)。Docker Engine 从 CLI 中接受docker 命令,例如 docker run 、docker ps 来列出正在运行的容器、docker images 来列出镜像,等等。

在这里插入图片描述

Docker Machine 是一个用于配置和管理你的宿主机(上面具有 Docker Engine 的主机)的工具。通常,你在你的本地系统上安装 Docker Machine。Docker Machine有自己的命令行客户端 docker-machine 和 Docker Engine 客户端 docker。你可以使用 Machine 在一个或多个虚拟系统上安装 Docker Engine。
这些虚拟系统可以是本地的(就像你在 Mac 或 Windows 上使用 Machine 在 VirtualBox 中安装和运行 Docker Engine 一样)或远程的(就像你使用 Machine 在云提供商上 provision Dockerized 宿主机一样)。Dockerized 宿主机本身可以认为是,且有时就称为,被管理的“machines”。

docker-machine作用(Docker Machine 最主要有两个作用)

使用 Docker Machine 方便在不同的环境中使用 Docker ,比如:Win/Mac
使用 Docker Machine 方便在云环境下批量部署 Docker环境,比如:私有云,公有云批量安装Docker环境
Docker Machine命令

先docker-machine --help 查看一下所有命令
在这里插入图片描述

在这里插入图片描述

实验环境

在真机上配置搭建共享yum源,开启apache服务,关闭防火墙
[root@foundation70 html]# pwd
/var/www/html
[root@foundation70 html]# 
docker  docker-ce.repo  get-docker.sh  
[root@foundation70 html]# 
[root@foundation70 html]#  cat docker-ce.repo 
[docker]
name=docker-ce
baseurl=http://172.25.10.250/docker
gpgcheck=0
[root@foundation70 html]# vim get-docker.sh 
390                         yum_repo="http://172.25.10.250/docker-ce.repo"
[root@foundation70 html]# systemctl start httpd
[root@foundation70 html]# systemctl stop firewalld.service

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

######## 刚开始三台虚拟机上面都没有docker服务,实验环境干干净净

在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
[root@server1 ~]# ssh-keygen -f /root/.ssh/id_rsa -P ""
[root@server1 .ssh]# cat /etc/hosts
172.25.70.2	server2
172.25.70.3	server3
[root@server1 .ssh]# ssh-copy-id server2:
[root@server1 .ssh]# ssh root@172.25.70.2
[root@server2 ~]#     #远程连接成功server2
[root@server1 .ssh]# ssh-copy-id server3:
[root@server1 .ssh]# ssh root@172.25.70.3
[root@server3 ~]#    #远程连接成功server3
[root@server1 ~]# ls
docker-machine-Linux-x86_64-0.16.1
[root@server1 ~]# mv docker-machine-Linux-x86_64-0.16.1 /usr/local/bin/
[root@server1 ~]# cd /usr/local/bin/
[root@server1 bin]# ls
docker-machine-Linux-x86_64-0.16.1
[root@server1 bin]# mv docker-machine-Linux-x86_64-0.16.1 docker-machine
[root@server1 bin]# chmod +x docker-machine 
[root@server1 bin]# docker-machine  --version
docker-machine version 0.16.1, build cce350d7

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

(4)使真机可以上网,从互联网上拉取自动部署doaker的脚本
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

(5)将拉取下来的脚本放到真机的apache共享目录下面并且作出修改

在这里插入图片描述

给server2和server3安装docker的时候要使用真机的共享yum源
在这里插入图片描述
安装docker的版本要和yum源里面的版本一致
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

(6)server1给server2自动部署docker
[root@server1 ~]# docker-machine create --driver generic --generic-ip-address 172.25.10.2  --engine-install-url "http://172.25.70.250/get-docker.sh" server2

在这里插入图片描述

[root@server1 ~]# docker-machine create --driver generic --generic-ip-address 172.25.10.3  --engine-install-url "http://172.25.70.250/get-docker.sh" server3

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
#server2:

[root@server2 ~]# vim /etc/os-release
3 ID="centos"

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

(7)server1给server3自动部署docker

在这里插入图片描述在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
#server3:

[root@server3 ~]# vim /etc/os-release
3 ID="centos"

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
总结一下:
以上就是利用docker-machine自动部署docker服务的整个过程
当在实际生产环境当中需要同时为docker集群中的每一个节点部署docker的时候就可以使用docker-machine这个工具
因此把docker-machine也叫做doicker三剑客之一

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值