安装 Docker Machine - 每天5分钟玩转 Docker 容器技术(45)

本文涉及的产品
容器镜像服务 ACR,镜像仓库100个 不限时长
容器服务 Serverless 版 ACK Serverless,317元额度 多规格
容器服务 Serverless 版 ACK Serverless,952元额度 多规格
简介:

前面我们的实验环境中只有一个 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。对于某个特定的 providerDocker 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。

二维码+指纹.png


本文转自CloudMan6 51CTO博客,原文链接:http://blog.51cto.com/cloudman/1950301

相关文章
|
9天前
|
NoSQL 关系型数据库 Redis
mall在linux环境下的部署(基于Docker容器),Docker安装mysql、redis、nginx、rabbitmq、elasticsearch、logstash、kibana、mongo
mall在linux环境下的部署(基于Docker容器),docker安装mysql、redis、nginx、rabbitmq、elasticsearch、logstash、kibana、mongodb、minio详细教程,拉取镜像、运行容器
mall在linux环境下的部署(基于Docker容器),Docker安装mysql、redis、nginx、rabbitmq、elasticsearch、logstash、kibana、mongo
|
9天前
|
Ubuntu Linux Docker
Ubuntu 18.04 安装Docker实战案例
关于如何在Ubuntu 18.04系统上安装Docker的实战案例,包括安装步骤、配置镜像加速以及下载和运行Docker镜像的过程。
66 3
Ubuntu 18.04 安装Docker实战案例
|
9天前
|
存储 Linux Docker
CentOS 7.6安装Docker实战案例及存储引擎和服务进程简介
关于如何在CentOS 7.6上安装Docker、介绍Docker存储引擎以及服务进程关系的实战案例。
47 3
CentOS 7.6安装Docker实战案例及存储引擎和服务进程简介
|
9天前
|
应用服务中间件 nginx Docker
Docker同一台宿主机容器通信-通过容器名称互联
本文详细介绍了如何通过容器名称实现同一宿主机上容器间的互联,并提供了实战案例。首先,文章解释了容器间通过自定义名称访问的原理,随后演示了创建并连接Tomcat与Nginx容器的具体步骤。此外,还讨论了配置中可能出现的问题及解决方案,包括避免硬编码IP地址和使用自定义容器别名来增强系统的灵活性与可维护性。通过这些实践,展示了如何高效地配置容器间通信,确保服务稳定可靠。
16 1
Docker同一台宿主机容器通信-通过容器名称互联
|
1天前
|
持续交付 开发者 Docker
掌握 Docker:容器化技术在现代开发中的应用
Docker 是一个开源容器化平台,使开发者能够将应用程序及其依赖项封装在轻量级容器中,确保跨平台的一致性。本文介绍了 Docker 的基本概念、核心组件及优势,并展示了其在快速部署、一致性、可移植性和微服务架构中的应用。通过示例说明了 Docker 在本地开发环境搭建、服务依赖管理和 CI/CD 流程中的作用,以及多阶段构建、资源限制和网络模式等高级特性。掌握 Docker 可大幅提升开发效率和应用管理能力。
|
6天前
|
Cloud Native 持续交付 Docker
云原生技术实践:Docker容器化部署教程
【9月更文挑战第4天】本文将引导你了解如何利用Docker这一云原生技术的核心工具,实现应用的容器化部署。文章不仅提供了详细的步骤和代码示例,还深入探讨了云原生技术背后的哲学,帮助你理解为何容器化在现代软件开发中变得如此重要,并指导你如何在实际操作中运用这些知识。
|
7天前
|
Kubernetes Cloud Native Docker
云原生技术:容器化与微服务架构的融合之道
【9月更文挑战第4天】在数字化时代的浪潮下,企业追求敏捷、高效、可扩展的IT架构成为共识。云原生技术作为现代软件部署的黄金标准,其核心理念在于推动应用的快速迭代与无缝迁移。本文将深入探讨云原生技术的精髓——容器化与微服务架构如何相互促进,共同构建起适应云计算环境的应用生态系统。我们将通过实际案例,揭示如何在云平台上利用这些技术实现服务的解耦、弹性伸缩及自动化管理,进而提升企业的竞争力。
|
9天前
|
存储 Unix 虚拟化
Docker容器简介
Docker是一种轻量级的虚拟化技术,它通过容器化应用,提高了硬件资源利用率,简化了应用的部署、运输和运行,且与虚拟机相比,具有更快的交付速度和更低的资源消耗。
24 2
|
10天前
|
Docker 容器
Docker安装Gitlab和Gitlab-Runner并实现项目CICD
Docker安装Gitlab和Gitlab-Runner并实现项目CICD
|
11天前
|
Kubernetes Cloud Native Docker
探索云原生技术:从容器化到微服务的实践之旅
在数字时代的浪潮中,云原生技术如同一艘航船,带领企业乘风破浪。本文将带你领略云原生的奥妙,从容器化技术的基石Docker讲起,到Kubernetes集群管理的航海术,再到微服务的架构设计,我们将一起构建、部署并运行一个简单的云原生应用。准备好,让我们启航!【8月更文挑战第31天】