Docker基础<12>---Docker三剑客之Docker Machine(自动化部署docker)

Docker Machine概述及搭建
一、什么是docker-machine:
简单来说就是给你快速创建一个docker容器环境的,比如,如果你要给100台阿里云ECS安装上docker,传统方式就是你一台一台ssh上去安装,但是有了docker-machine就不一样了,你可以快速给100台ecs安装上docker。还有就是你要在本地快读创建docker集群环境,总不能一台一台创建虚拟机吧,所以docker-machine可以解决这个问题。

使用Docker Machine的目的:
Docker Machine 使你能够在各种 Linux 上配置多个远程 Docker 宿主机。

二、操作步骤
1、实验前提:

172.25.1.1 server1 docker-machine管理端,装有docker服务
172.25.1.2 server2 有docker服务
172.25.1.3 server3 没有docker服务
172.25.2.250 真机 提供第三方软件仓库

2、docker-machine安装地址:
https://github.com/docker/machine/releases

server1:
(1)安装docker-machine管理端

cp docker-machine-Linux-x86_64-0.16.1 /usr/local/bin/docker-machine		#下载后更改地址方便调用
chmod +x /usr/local/bin/docker-machine
ssh-keygen
ssh-copy-id server3

在这里插入图片描述
在这里插入图片描述
(2)创建部署

[root@server1 ~]# docker-machine create --driver generic --engine-install-url "http://172.25.1.250/get-docker.sh" --generic-ip-address 172.25.1.3 server3
[root@server1 ~]# docker-machine ls
NAME      ACTIVE   DRIVER    STATE     URL                     SWARM   DOCKER     ERRORS
server3   -        generic   Running   tcp://172.25.1.3:2376           v19.03.8   

在这里插入图片描述
server3:
完全干净的主机
(1)将ser3和ser2中的系统版本改为centos,因为前面的脚本指定的如果系统版本是rhel就会退出

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

在这里插入图片描述
(2)创建后自动声称repo文件

[root@server3 ~]# cd /etc/yum.repos.d/
[root@server3 yum.repos.d]# ls
docker-ce.repo  redhat.repo  yum.repo
[root@server3 yum.repos.d]# cat docker-ce.repo 
[docker]
name=docker-ce
baseurl=http://172.25.1.250/docker
gpgcheck=0

在这里插入图片描述
(3)部署成功

[root@server3 yum.repos.d]# rpm -qa | grep docker
docker-ce-cli-19.03.8-3.el7.x86_64
docker-ce-19.03.8-3.el7.x86_64

在这里插入图片描述
在machine主机上操作远程主机
(1)

[root@server1 ~]# docker-machine config server3		#查看server信息
[root@server1 ~]# docker `docker-machine config server3` ps	#在1上操作3
[root@server1 ~]# docker `docker-machine config server3` pull busybox	#在1帮3上拉取
[root@server1 ~]# docker `docker-machine config server3` images

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

[root@server3 docker]# docker search nginx
Error response from daemon: Get https://index.docker.io/v1/search?q=nginx&n=25: dial tcp: lookup index.docker.io on [::1]:53: read udp [::1]:39842->[::1]:53: read: connection refused
解析和网络没做好

server2虽然安装了docker但是没有配置加密连接
(1)配置server2为分机
server2:

[root@server2 ~]# vim /etc/os-release
ID="centos"
[root@server2 ~]# systemctl status docker
─13789 /usr/bin/dockerd -H tcp://0.0.0.0:2376 -H unix:///var/run/docker.sock --storage-driver overlay2 --tlsverify --tlscacert /etc/doc...
#2376端口成功添加

在这里插入图片描述

server1:

docker-machine rm server2		#删除指令
[root@server1 ~]# docker-machine create --driver generic --engine-install-url "http://172.25.1.250/get-docker.sh" --generic-ip-address 172.25.1.2 server2
[root@server1 ~]# docker-machine ls
NAME      ACTIVE   DRIVER    STATE     URL                     SWARM   DOCKER     ERRORS
server2   -        generic   Running   tcp://172.25.1.2:2376           v19.03.8   
server3   -        generic   Running   tcp://172.25.1.3:2376           v19.03.8   

在这里插入图片描述
(2)切换server主机

[root@server1 ~]# eval $(docker-machine env server2)
[root@server1 ~]# docker-machine ls
NAME      ACTIVE   DRIVER    STATE     URL                     SWARM   DOCKER     ERRORS
server2   *        generic   Running   tcp://172.25.1.2:2376           v19.03.8   
server3   -        generic   Running   tcp://172.25.1.3:2376           v19.03.8   
[root@server1 ~]# eval $(docker-machine env server3)
[root@server1 ~]# docker-machine ls
NAME      ACTIVE   DRIVER    STATE     URL                     SWARM   DOCKER     ERRORS
server2   -        generic   Running   tcp://172.25.1.2:2376           v19.03.8   
server3   *        generic   Running   tcp://172.25.1.3:2376           v19.03.8  

在这里插入图片描述

部署指定版本的docker
在这里插入图片描述
server1:

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

server3:
docker清除干净,以免影响下次部署

[root@server3 ~]# systemctl stop docker
[root@server3 ~]# yum remove docker-ce
[root@server3 ~]# cd /etc
[root@server3 etc]# rm -fr docker/
[root@server3 etc]# cd /etc/systemd/system/docker.service.d/
[root@server3 docker.service.d]# rm -fr 10-machine.conf 
[root@server3 docker.service.d]# yum remove docker-ce-cli-19.03.8-3.el7.x86_64

真机:

[root@foundation1 html]# vim get-docker.sh
462                                 $sh_c "$pkg_manager install -y -q docker-ce-19.03.5-3.el7 docker-ce-cli-19.03.5-3.el7"
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值