43-安装 Docker Machine
前面我们的实验环境中只有一个 docker host,所有的容器都是运行在这一个 host 上的。但在真正的环境中会有多个 host,容器在这些 host 中启动、运行、停止和销毁,相关容器会通过网络相互通信,无论它们是否位于相同的 host。
对于这样一个 multi-host 环境,我们将如何高效地进行管理呢?
我们面临的第一个问题是:为所有的 host 安装和配置 docker。
在前面我们手工安装了第一个 docker host,步骤包括:
安装 https CA 证书
添加 GPG key
添加 docker apt 源
安装 docker
可见步骤还是挺多的,对于多主机环境手工方式效率低且不容易保证一致性,针对这个问题,docker 给出的解决方案是 Docker Machine。
用 Docker Machine 可以批量安装和配置 docker host,这个 host 可以是本地的虚拟机、物理机,也可以是公有云中的云主机。
Docker Machine 支持在不同的环境下安装配置 docker host,包括:
常规 Linux 操作系统
虚拟化平台 - VirtualBox、VMWare、Hyper-V
OpenStack
公有云 - Amazon Web Services、Microsoft Azure、Google Compute Engine、Digital Ocean 等
Docker Machine 为这些环境起了一个统一的名字:provider。对于某个特定的 provider,Docker Machine 使用相应的 driver 安装和配置 docker host,如下图所示:

下面我们通过实验来学习 Docker Machine。
实验环境描述
实验环境中有三个运行 Ubuntu 的 host。
我们将在 192.168.0.43 上安装 Docker Machine,然后通过 docker-machine 命令在其他两个 host 上部署 docker。
安装 Docker Machine
官方安装文档在 https://docs.docker.com/machine/install-machine/
安装方法很简单,执行如下命令:
$ base=https://github.com/docker/machine/releases/download/v0.16.0 &&
curl -L $base/docker-machine-$(uname -s)-$(uname -m) >/tmp/docker-machine &&
sudo install /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 才能看出效果。
下一节我们学习如何创建 Machine。
43-安装 Docker Machine的更多相关文章
- 安装 Docker Machine - 每天5分钟玩转 Docker 容器技术(45)
前面我们的实验环境中只有一个 docker host,所有的容器都是运行在这一个 host 上的.但在真正的环境中会有多个 host,容器在这些 host 中启动.运行.停止和销毁,相关容器会通过网络 ...
- centos7下安装docker(14安装docker machine)
之前我们做的实验都是在一个host上面的,其实在真正的环境中有多个host,容器在这些host上面启动,运行,停止和销毁,相关容器会通过网络相互通信,无论他们是否运行在相同的host上面. 对于这种歌 ...
- 045、安装Docker Machine (2019-03-08 周五)
参考https://www.cnblogs.com/CloudMan6/p/7223599.html 前面我们的实验中只有一个docker host ,所有的容器都是运行在这一个host上的.但在 ...
- 第 7 章 多主机管理 - 045 - 安装 Docker Machine
安装 Docker Machine 先安装docker 官方安装docker-machine的文档地址:https://docs.docker.com/machine/install-machine/ ...
- 安装Docker Machine
什么是Docker Machine Docker Machine是Docker官方编排项目之一,由Go语言实现,负责在多种平台上快速安装Docker环境,Github项目主页 它支持Linux.Mac ...
- Docker三剑客之Docker Machine
一.什么是Docker Machine Docker Machine 是Docker官方编排项目之一,使用go语言编写的,使用不同引擎在多种平台上快速的安装Docker环境,开源地址:https:// ...
- docker学习笔记(一)-vagrant/docker machine安装docker,阿里云通过docker machine安装docker
首先需要先安装virtualbox https://www.vagrantup.com/ 下载安装vagrant 安装完毕后通过vagrant下载镜像,生成实例 mkdir test_centos7 ...
- docker学习笔记1-- 用Toolbox安装Docker--介绍Docker Machine
使用的是Docker Toolbox,非Docker for Windows 一.docker的认识与安装(windows安装) http://blog.csdn.net/tina_ttl/artic ...
- Docker Machine 管理-安装docker-machine(15)
前面我们的实验环境中只有一个 docker host,所有的容器都是运行在这一个 host 上的.但在真正的环境中会有多个 host,容器在这些 host 中启动.运行.停止和销毁,相关容器会通过网络 ...
随机推荐
- golang的make
golang 分配内存主要有内置函数new和make,今天我们来探究一下make有哪些玩法. map只能为slice, map, channel分配内存,并返回一个初始化的值.首先来看下make有以下 ...
- 设计模式(含UML、设计原则、各种模式讲解链接)
一.统一建模语言UML UML是一种开放的方法,用于说明.可视化.构建和编写一个正在开发的.面向对象的.软件密集系统的制品的开放方法 UML展现了一系列最佳工程实践,这些最佳实践在对大规模,复杂系统进 ...
- Prism_ViewModelLocator(5)
ViewModelLocator ViewModelLocator用于绑定视图的DataContext,以使用标准命名约定的一个ViewModel的实例. Prism ViewModelLocator ...
- 百度地图API 拖拽或点击地图位置获取坐标
function setPlace(map,myValue,callback){ function getAddress(){ var pp = local.getResults().getPoi(0 ...
- 《精通Python爬虫框架Scrapy》学习资料
<精通Python爬虫框架Scrapy>学习资料 百度网盘:https://pan.baidu.com/s/1ACOYulLLpp9J7Q7src2rVA
- How do I unmute my Lenovo laptop?
If the FN key does have a green light just press and hold down the FN button on the bottom left of t ...
- RHEL5.6静默安装oracle11.2.0数据库实例脚本
脚本:单实例静默安装echo '[GENERAL] RESPONSEFILE_VERSION = "11.2.0" //查看虚拟机的版本,不能更改 OPERATION_TYPE = ...
- [Go]TCP服务中读写进行协程分离
读写两部分进行一下分离,中间通过chan进行传递数据 ,这样可以方便的在write中进行一些业务处理 single/snet/tcpconn.go package snet import ( &quo ...
- [PHP] 编译安装swoole
不知道为啥,家里的网访问不了pecl.php.net,这也就没有办法直接使用pecl install swoole安装swoole,也可以直接进行编译安装 在git仓库下载源码 https://git ...
- Java.awt.geom.AffineTransform 的使用
https://docs.oracle.com/javase/8/docs/api/java/awt/geom/AffineTransform.html http://www.cjsdn.net/Do ...