文章目录

  • Docker
  • 一、Docker三大编排工具:
  • 二、Docker Compose
    • 【compose的概述】
    • 【compose的核心概念】
    • 【安装Docker compose】
  • 三、Docker Machine
    • 【Machine概述】
    • 【Machine 的基本概念和流程】
  • 三、Docker Swarm
    • 【概述】
    • 【swarm的节点】
    • 【容器、任务、服务的关系如下】

Docker

一、Docker三大编排工具:

1》Docker Compose:是用来组装多容器应用的工具,可以在 Swarm集群中部署分布式应用。
2》 Docker Machine:是支持多平台安装Docker的工具,使用 Docker Machine,可以很方便地在笔记本、云平台及数据中心里安装Docker。
3》 Docker Swarm:是Docker社区原生提供的容器集群管理工具

https://blog.csdn.net/wfs1994/article/details/80601027

二、Docker Compose

Github下载地址

Compose是用来定义和运行一个或多个容器应用的工具。使用compaose可以简化容器镜像的建立及容器的运行。
Compose使用python语言开发,非常适合在单机环境里部署一个或多个容器,并自动把多个容器互相关联起来

【compose的概述】

在实际生产环境中,一个应用往往由许多服务构成,而 docker 的最佳实践是一个容器只运行一个进程,因此运行多个微服务就要运行多个容器。多个容器协同工作需要一个有效的工具来管理他们,定义这些容器如何相互关联。compose 应运而生

  compose 使用 YAML 文件来定义多容器之间的关系,一个 docker-compose up 就可以把完整的应用跑起来。本质上, compose 把 YAML 文件解析成 docker 命令的参数,然后调用相应的 docker 命令行接口,从而将应用以容器化的方式管理起来。它通过解析容器间的依赖关系顺序地启动容器,而容器间的依赖关系由 YAML 文件中的 links 标记指定

【compose的核心概念】

# Compose 中有两个重要的概念:1)服务 (service):一个应用的容器,实际上可以包括若干运行相同镜像的容器实例。2)项目 (project):由一组关联的应用容器组成的一个完整业务单元,在 docker-compose.yml 文件中定义

【安装Docker compose】

三、Docker Machine

Github下载地址

Docker Machine 是 Docker 官方编排(Orchestration)项目之一,负责在多种平台上快速安装 Docker 环境。
Docker Machine 项目基于 Go 语言实现,目前在 Github 上进行维护

【Machine概述】

Docker Machine 是一个简化Docker 安装的命令行工具。
通过一个简单的命令行即可在相应的平台上安装 Docker,为用户提供了灵活的功能,使得用户可以在任一主机上运行 Docker 容器。
简单说,一个 Docker Machine 就是一个 Docker host 主机和经过配置的 Docker client 的结合体
技术上讲, Machine 是一个框架,比较开放。对于任何提供虚拟机服务的平台,只要在这个框架下开发针对该平台的驱动,
Docker Machine 就可以集成到该平台,在该平台上执行创建、删除、启动、停止等行为

Machine 架构:

【Machine 的基本概念和流程】

Docker Machine 首先会创建一个虚拟机并在其上创建一个 Docker host,然后使用Docker client 和 Docker host 通信,从而在 Docker host 上创建镜像,启动容器。Docker Machine 创建虚拟机的时候需要制定相应的驱动,目前支持本机的驱动有 VirtualBox 驱动、VMware 驱动及 Windows 下的 Hyper-V 驱动。除此之外,Machine 还支持云主机的创建。只要开发了符合框架规范的驱动,Docker Machine 就可以支持相应的平台。Machine 创建的 Docker host 的IP地址是所创建的虚拟机的IP地址。#使用Docker Machine 及 VirtualBox 驱动创建本地虚拟机并搭建 Docker host 的运行流程如下:1)执行 docker-machine create --driver virtualbox dev命令。此命令首先创建用于 Docker client 和 Docker host 通信用的 CA 证书。 2)其次创建 VirtualBox 虚拟机, 并配置用于通信的 TLS 参数及配置网络, 最后部署 Docker 的运行环境 即 Docker host。3)在 Docker client 里运行 eval "$(docker-machine env dev)"命令, 配置用于 Docker host 通信的环境变量。4)使用 docker 相关命令创建或启动相应的容器。

三、Docker Swarm

Docker Swarm 提供 Docker 容器集群服务,是 Docker 官方对容器云生态进行支持的核心方案。使用它,用户可以将多个 Docker 主机封装为单个大型的虚拟 Docker 主机,快速打造一套容器云平台

Swarm mode内置kv存储功能,提供了众多的新特性
比如:具有容错能力的去中心化设计、内置服务发现、负载均衡、路由网格、动态伸缩、滚动更新、安全传输等。使得 Docker 原生的 Swarm 集群具备与 Mesos、Kubernetes 竞争的实力

【概述】

Swarm 是使用 SwarmKit 构建的 Docker 引擎内置(原生)的集群管理和编排工具

Swarm 是 Docker 社区提供的原生支持 Docker 集群的工具。 它可以把多个 Docker 主机组成的系统转换成为单一的虚拟 Docker 主机。
Swarm 对外提供两种 API:一种是标准的 Docker API,例如 Dokku、Compose、Krane、Flynn、Deis、Jenkins等;另一种是 Swarm 的集群管理 API,用于集群的管理ps :
Swarm工具本身不是很成熟,不建议用在生产环境
而 Google 开源的Kubernetes 是目前容器生态圈中最受欢迎的编排部署工具。
Kubernetes 的架构基于有多个 Minion 节点的 Master 服务器

【swarm的节点】

运行 Docker 的主机可以主动初始化一个 Swarm 集群或者加入一个已存在的 Swarm 集群,这样这个运行 Docker 的主机就成为一个 Swarm 集群的节点 (node)

节点分为管理 (manager) 节点和工作 (worker) 节点:1) 管理节点:用于 Swarm 集群的管理,docker swarm 命令基本只能在管理节点执行(节点退出集群命令 docker swarm leave 可以在工作节点执行)。一个 Swarm 集群可以有多个管理节点,但只有一个管理节点可以成为 leader,leader 通过 raft 协议实现。2) 工作节点:是任务执行节点,管理节点将服务 (service) 下发至工作节点执行。管理节点默认也作为工作节点。也可以通过配置让服务只运行在管理节点

集群中管理节点与工作节点的关系如下所示:

服务和任务:任务 (Task)是 Swarm 中的最小的调度单位,目前来说就是一个单一的容器。服务 (Services) 是指一组任务的集合,服务定义了任务的属性。服务有两种模式:replicated services 按照一定规则在各个工作节点上运行指定个数的任务。global services 每个工作节点上运行一个任务ps : 两种模式通过 docker service create 的 --mode 参数指定

【容器、任务、服务的关系如下】

@Docker三剑客(三大编排工具):Compose、Machine和Swarm相关推荐

  1. Docker - 容器编排工具 compose 之安装

    准备 首先,在使用和安装 docker compose之前,我们应该确保我们已经安装了 docker engine. 安装 官网上面有好多种安装方式,由于我们现在是在使用Docker, 个人感觉应该以 ...

  2. Docker:单机编排工具docker-compose [十二]

    一.docker-compose的安装 1.安装 curl -o /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.re ...

  3. docker的私有仓库搭建、compose项目、swarm集群、一键部署docker节点

    1.私有仓库搭建 首先需要一个registry 镜像 [root@foundation24 docker]# docker images registry REPOSITORY TAG IMAGE I ...

  4. docker三剑客之 Docker Machine Docker Compose Docker Swarm

    Docker 三剑客 一.docker machine 1.Docker Machine 简介 2.Docker Machine实践 二.docker-compose 1.docker-compose ...

  5. 安装Docker.v19和配置Docker Compose编排工具

    博文目录 一.Compose简介 二.安装Docker 1.安装19.03.9版本Docker 2.配置镜像加速 三.安装使用Docker Compose 1.Github下载Docker Compo ...

  6. Docker集群管理(DockerHub Harbor 打包-Jib 任务编排工具- docker-compose和Swarm)

    Docker 集群管理 Docker 集群管理 镜像仓库管理 DockerHUb仓库管理 什么是DockerHUb 账号注册和登陆 Docker客户端登录 管理镜像 推送镜像 仓库镜像测试 regis ...

  7. docker Swarm容器编排工具

    目录 一.什么是docker swarm 二.Docker Swarm 基本结构 三.Swarm的几个关键概念 四.swarm的调度策略 五.Swarm Cluster模式特性 六.搭建docker ...

  8. Docker三剑客——Docker Compose

    目录 一.概述 二.Docker Compose工作流程 三.安装Docker Compose 四.Docker Compose管理命令 (1)docker-compose build (2)dock ...

  9. Docker三剑客——Machine

    在上一篇文章中,我们介绍了docker三剑客中的Swarm,对使用docker集群方式管理容器有了一定的了解,如果忘记了该内容,可以先去复习一下Docker三剑客--Swarm. 今天我们开始介绍do ...

最新文章

  1. 服务器可视化_系统管理员不可错过的6款服务器监控工具
  2. tensorflow lstm 实现 RNN / LSTM 的关键几个步骤 多层通俗易懂
  3. AngularJS双向数据绑定实例
  4. Java正则表达式入门
  5. 什么叫白户,白户能贷款吗?
  6. Ctrl与Caps Lock键的交换
  7. JAVA world转图片,将Kinect深度图像转换为真实世界坐标
  8. socket 编程入门教程(一)TCP server 端:2、socket与文件描述符
  9. Windows phone 8.1 MessageBox 变了哦!
  10. java常识-java怎么换行
  11. leaflet 加载海量点位,点击marker 查看详情功能
  12. 扩展银行项目,添加一个(客户类)Customer类。Customer类将包含一个Account对象。...
  13. 基于Qt的在线抢答系统
  14. X电容Y电容如何选择与使用
  15. 高级查询组件下拉框联动(三)
  16. QT 设置label内字体,字体颜色,背景色 ; 字体的中英对照
  17. java 有五个学生 每个学生有3门课_1、有五个学生,每个学生有3门课(语文、数学、英语)的成绩, 写一...
  18. 教资计算机报高中害死初中,教师资格证报名入口必须电脑登录吗_中小学教师资格考试网...
  19. Android bugreport 充电日志解读
  20. 【图像超分辨率】Accurate Image Super-Resolution Using Very Deep Convolutional Networks

热门文章

  1. MATLAB中fopen、fseek和ftell的用法
  2. 微星GP63 (006CN) 拆机加固态
  3. 【互联网品读】谷歌候选人撩美女猎头,被霸气怒怼,码农也有渣渣
  4. python弹幕拼脸_Python爬虫经典项目:各大直播平台的弹幕人气工具!
  5. 500个爆文标题_超级标题库,史上最全爆文标题套路都在这里了,内容宝文章
  6. linux发行版本目录详解
  7. 怎样修复grub开机引导以及在Ubuntu中添加win7开机启动项
  8. DT浏览器最新版升级为办公类手机浏览器
  9. 万能的钢笔-制图抠图必学
  10. ant design vue日历增加小圆点