【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 的工具

二、本地安装 Docker Machine

  • 下载
    github下载二进制文件地址:https://github.com/docker/machine/releases/
  • 下载Docker Machine二进制文件到指定位置,赋予执行权限
    mv docker-machine-Linux-x86_64-0.16.1 /usr/local/bin/docker-machine
    chmod +x /usr/local/bin/docker-machine

三、Docker Machine常用命令

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版本

四、在远程节点安装部署docker

01_离线安装

server1:172.25.2.1
  • 离线安装需在远程主机提前安装好docker软件包
  • 创建远程免密登陆
    ssh-keygen
    ssh-copy-id 远程节点server2
  • 创建machine主机
    docker-machine create --driver generic --generic-ip-address 172.25.2.2 server2
--driver:要在目标主机创建docker的驱动程序
--generic-ip-address:目标地址
<machine>:创建的主机的名称
docker-machine create -h:查看帮助
  • 在远程节点发现打开了2376端口

【Docker】Docker Machine安装配置、远程节点部署docker machine_第1张图片

  • 查看主机
    在这里插入图片描述

  • 显示配置
    【Docker】Docker Machine安装配置、远程节点部署docker machine_第2张图片

  • 查看远程主机信息
    【Docker】Docker Machine安装配置、远程节点部署docker machine_第3张图片eval $(docker-machine env server2),可以直接切入目标主机,
    【Docker】Docker Machine安装配置、远程节点部署docker machine_第4张图片

02_解决在shell中不提示目标主机

eval $(docker-machine env 目标主机切换目标主机使用docker,可能会出现指令混乱的情况,并且shell中不提示时哪个主机。(显示server1 其实已经是server2的docker环境)
【Docker】Docker Machine安装配置、远程节点部署docker machine_第5张图片
解决
Machine存储库提供了几个bash脚本,这些脚本添加了以下功能:

  • 命令完成
  • 在shell提示中显示活动计算机的功能
  • 功能包装器,添加一个docker-machine use子命令以切换活动计算机

过程

  • 安装bash脚本到/etc/bash_completion.d/
安装来源:https://github.com/docker/machine/tree/master/contrib/completion/bash

docker-machine.bash
docker-machine-prompt.bash
docker-machine-wrapper.bash 
  • vim ~/.bashrc:启用shell提示
PS1='[\u@\h \W$(__docker_machine_ps1)]\$ ' 
  • 退出终端,重新打开shell即生效

在这里插入图片描述

03_在线安装

  • 创建远程免密登陆
    ssh-keygen
    ssh-copy-id 远程节点
  • 下载安装脚本
    wget https://get.docker.com
    mv index.html get-docker.sh改名
  • 修改安装脚本 vim get-docker.sh,并将此脚本放在远程主机可访问的Apache发布目录下(server3的/var/www/html)
#设定能成功安装docker的yum源,将repo文件放在能访问到的Apache发布目录下
yum_repo="http://172.25.2.3/docker-ce.repo"
注释472-475行
$sh_c "$pkg_manager install -y -q docker-ce"

在这里插入图片描述
【Docker】Docker Machine安装配置、远程节点部署docker machine_第6张图片

  • 编辑repo文件,将其和安装脚本get-docker.sh放在同一Apache发布目录下
    vim /etc/yum.repos.d/docker-ce.repo
[docker]
name=docker-ce
baseurl=http://172.25.2.3/docker-ce
gpgcheck=0
  • 将提前下载好的rpm包放在同一Apache发布目录下

【Docker】Docker Machine安装配置、远程节点部署docker machine_第7张图片

  • 创建主机
    docker-machine create --driver generic --engine-install-url "http://172.25.2.3/get-docker.sh" --generic-ip-address 172.25.2.3 server3
--driver:要在目标主机创建docker的驱动程序
--engine-install-url:安装脚本的url
--generic-ip-address:目标主机地址
<machine>:创建的主机的名称

在这里插入图片描述

你可能感兴趣的:(Docker)