经验首页 前端设计 程序设计 Java相关 移动开发 数据库/运维 软件/图像 大数据/云计算 其他经验
当前位置:技术经验 » 程序设计 » Docker » 查看文章
容器(七)安装 Docker Machine【40】
来源:cnblogs  作者:cuiyongchao007  时间:2020/12/8 8:50:59  对本文有异议

七、多主机管理

(一)安装 Docker Machine

前面我们的实验环境中只有一个 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。

(1)实验环境描述

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

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

(2)安装 Docker Machine

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

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

  1. $ base=https://github.com/docker/machine/releases/download/v0.16.0 &&
  2. curl -L $base/docker-machine-$(uname -s)-$(uname -m) >/tmp/docker-machine &&
  3. sudo mv /tmp/docker-machine /usr/local/bin/docker-machine &&
  4. chmod +x /usr/local/bin/docker-machine

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

  1. root@cuiyongchao:~# docker-machine version
  2. docker-machine version 0.16.0, build 702c267f
  3. root@cuiyongchao:~#

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

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

docker-machine.bash ;docker-machine-prompt.bash ; docker-machine-wrapper.bash

  1. base=https://raw.githubusercontent.com/docker/machine/v0.16.0
  2. for i in docker-machine-prompt.bash docker-machine-wrapper.bash docker-machine.bash
  3. do
  4. sudo wget "$base/contrib/completion/bash/${i}" -P /etc/bash_completion.d
  5. done

将其放置到 /etc/bash_completion.d 目录下,启动 docker-machine 后,增加 $(__docker_machine_ps1) 到~/.bashrc.

  1. PS1='[\u@\h \W$(__docker_machine_ps1)]\$ '
  2. PS1='[\u@\h \W$(__docker_machine_ps1)]\$ '

其作用是设置 docker-machine 的命令行提示符,不过要等到部署完其他两个 host 才能看出效果。

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

10.0.0.20>10.0.0.21>10.0.0.22

原文链接:http://www.cnblogs.com/cuiyongchao007/p/14071984.html

 友情链接:直通硅谷  点职佳  北美留学生论坛

本站QQ群:前端 618073944 | Java 606181507 | Python 626812652 | C/C++ 612253063 | 微信 634508462 | 苹果 692586424 | C#/.net 182808419 | PHP 305140648 | 运维 608723728

W3xue 的所有内容仅供测试,对任何法律问题及风险不承担任何责任。通过使用本站内容随之而来的风险与本站无关。
关于我们  |  意见建议  |  捐助我们  |  报错有奖  |  广告合作、友情链接(目前9元/月)请联系QQ:27243702 沸活量
皖ICP备17017327号-2 皖公网安备34020702000426号