docker三剑客之docker machine


链接: docker machine.

docker machine简介

  • Docker Machine 是 Docker 官方编排(Orchestration)项目之一,
    负责在多种平台上快速安装 Docker 环境。
  • Docker Machine支持在常规Linux操作系统、
    虚拟化平台、openstack、
    公有云等不同环境下安装配置docker host。
  • Docker Machine 项目基于 Go 语言实现,
    目前在 Github 上的维护地址: https://github.com/docker/machine/

docker machine实践

安装

链接: 安装docker machine的github地址.

$ curl -L https://github.com/docker/machine/releases/download/v0.16.1/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
[root@server1 ~]# mv docker-machine-Linux-x86_64-0.16.1 /usr/local/bin/docker-machine
[root@server1 ~]# chmod  +x /usr/local/bin/docker-machine
[root@server2 ~]# rpm -q docker-ce
docker-ce-20.10.2-3.el7.x86_64

创建machine

  • machine指的是docker daemon主机,其实就是在host上安装和部署docker。
  • 创建machine要求免密登陆远程主机:
    ssh-keygen
    ssh-copy-id 目标ip
  • 创建主机:(离线安装需要在目标主机提前安装好docker软件包)
    #docker-machine create --driver generic --generic-ip-address=172.25.10.2 server2
  • 创建流程:
    ssh免密登陆远程主机
    安装docker软件包
    复制证书
    配置docker daemon
    启动docker

远程控制创造的machine

[root@server1 ~]# ssh-keygen 
[root@server1 ~]# ssh-copy-id server2
[root@server1 ~]# docker-machine create --driver generic --generic-ip-address 192.168.0.2 server2
[root@server1 ~]# rpm -qa | grep docker
[root@server1 ~]# docker-machine env server2 #显示访问server2所需的环境变量
[root@server2 ~]# netstat -antlp
tcp6       0      0 :::2376                 :::*                    LISTEN      24924/dockerd    
docker主机上生成的配置文件:如下 述配置文件中可以看出,docker daemon启用了TLS验证功能,docker-machine已经为其生成好了所需的证书文件。
连接远程docker主机时需要执行以下命令,但不方便:
docker `docker-machine config server2` ps
[root@server1 ~]# eval $(docker-machine env server2)#可以切入目标主机
[root@server1 ~]# docker run -d --name demo nginx









安装bash脚本,使得行提示符更加的人性化:
链接: bash下载地址.

[root@server1 ~]# cd /etc/bash_completion.d/
[root@server1 ~]# vim .bashrc 
PS1='[\u@\h \W$(__docker_machine_ps1)]\$ '
[root@server1 ~]# logout
Connection to 192.168.0.1 closed.
[kiosk@foundation50 Desktop]$ ssh root@192.168.0.1
[root@server1 ~]# docker-machine env server2
[root@server1 ~]# eval $(docker-machine env server2)
[root@server1 ~ [server2]]# 




给没有安装docker-ce的主机,使用docker-machine进行安装

172.25.0.111主机(真机:作为安装源)
已经安装好httpd
mkdir /var/www/html/docker-ce
cd /var/www/html
wget https://get.docker.com 下载下来的文件就是用来安装docker-ce

[root@server1 ~]# vim get-docker.sh 
412 474行
yum_repo="http://172.25.0.111/docker-ce.repo"
# install the correct cli version first
#if [ -n "$cli_pkg_version" ]; then
#       $sh_c "$pkg_manager install -y -q docker-ce-cli-$cli_pkg_version"
#fi
$sh_c "$pkg_manager install -y -q docker-ce"


将rpm全部安装好之后,yum install createrepo -y
createrepo . 搭建yum仓库
在安装的时候有repodata目录才能读到
[root@server3 yum.repos.d]# yum install docker-ce docker-ce-cli
[root@server3 docker-ce]# cd /var/cache/yum/x86_64/7Server/extras/packages/
[root@server3 packages]# cp * /var/www/html/docker-ce/
[root@server3 docker-ce]# cd /var/cache/yum/x86_64/7Server/
[root@server3 7Server]# cd docker/
[root@server3 docker]# ls
[root@server3 packages]# cp * /var/www/html/docker-ce/
[root@server3 docker-ce]# yum install -y createrepo
[root@server3 docker-ce]# createrepo .
[root@server3 docker-ce]# ls
[root@server3 docker-ce]# systemctl start httpd
[root@server3 yum.repos.d]# vim docker-ce.repo 
[docker]
name=docker-ce
baseurl=http://192.168.0.3/docker-ce
gpgcheck=0
[root@server3 yum.repos.d]# yum clean all
[root@server3 yum.repos.d]# yum repolist
[root@server3 yum.repos.d]# yum install docker-ce docker-ce-cli

ssh免密登陆远程主机
创建主机的时候直接安装docker-ce




  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值