• Docker Machine 管理-安装docker-machine(15)


    前面我们的实验环境中只有一个 docker host,所有的容器都是运行在这一个 host 上的。但在真正的环境中会有多个 host,容器在这些 host 中启动、运行、停止和销毁,相关容器会通过网络相互通信,无论它们是否位于相同的 host。

    对于这样一个 multi-host 环境,我们将如何高效地进行管理呢? 我们面临的第一个问题是:为所有的 host 安装和配置 docker。

        在前面我们手工安装了第一个 docker host,步骤包括:

    1.             安装 https CA 证书        

    2.             添加 GPG key        

    3. 添加 docker apt 源        

    4.             安装 docker        

    可见步骤还是挺多的,对于多主机环境手工方式效率低且不容易保证一致性,针对这个问题,docker 给出的解决方案是 Docker Machine。

        用 Docker Machine 可以批量安装和配置 docker host,这个 host 可以是本地的虚拟机、物理机,也可以是公有云中的云主机。

    Docker Machine 支持在不同的环境下安装配置 docker host,包括:

    1.             常规 Linux 操作系统        

    2.             虚拟化平台 - VirtualBox、VMWare、Hyper-V        

    3.             OpenStack        

    4. 公有云 - Amazon Web Services、Microsoft Azure、Google Compute Engine、Digital Ocean 等        

    Docker Machine 为这些环境起了一个统一的名字:provider。对于某个特定的 provider,Docker Machine 使用相应的 driver 安装和配置 docker host,如下图所示:

        下面我们通过实验来学习 Docker Machine。

        实验环境描述

        实验环境中有三个运行 Ubuntu 的 host。

    216.png

        我们将在 192.168.56.101 上安装 Docker Machine,然后通过 docker-machine 命令在其他两个 host 上部署 docker。

        安装 Docker Machine

    官方安装文档在 https://docs.docker.com/machine/install-machine/

    安装方法很简单,执行如下命令:

     

    curl -L https://github.com/docker/machine/releases/download/v0.9.0/docker-machine-`uname -s`-`uname -m` >/tmp/docker-machine &&

      chmod +x /tmp/docker-machine &&

      sudo cp /tmp/docker-machine /usr/local/bin/docker-machine

    下载的执行文件被放到 /usr/local/bin 中,执行docker-mahine version 验证命令是否可用:

        注:当你看到这篇文章的时候,Docker Machine 应该有了更新的版本,可参考官方文档进行安装。

        为了得到更好的体验,我们可以安装 bash completion script,这样在 bash 能够通过 tab 键补全 docker-mahine 的子命令和参数。安装方法是从https://github.com/docker/machine/tree/master/contrib/completion/bash下载 completion script:

        将其放置到 /etc/bash_completion.d 目录下。然后将如下代码添加到$HOME/.bashrc

    PS1='[u@h W$(__docker_machine_ps1)]$ ' 其作用是设置 docker-machine 的命令行提示符,不过要等到部署完其他两个 host 才能看出效果。

    Docker Machine 已经就绪,当前环境如下:

    下一节我们学习如何创建 Machine。

  • 相关阅读:
    关于Spring的69个面试问答——终极列表
    阿里内部分享:我们是如何?深度定制高性能MySQL的
    转载:SqlServer数据库性能优化详解
    SQL Server 中WITH (NOLOCK)浅析
    使用druid连接池带来的坑testOnBorrow=false
    opencms9.0安装
    POJ 1201-Intervals(差分约束系统)
    SQL Server 为代码减负之存储过程
    XMPP系列(四)---发送和接收文字消息,获取历史消息功能
    【POJ 2482】 Stars in Your Window(线段树+离散化+扫描线)
  • 原文地址:https://www.cnblogs.com/hanxiaohui/p/8609110.html
Copyright © 2020-2023  润新知