docekr-compose、docekr-machine 和 docker-swarm 是docker 原生提供的三大编排工具。

docker-machine

doceker-machine是在解决docker运行环境的问题

docker技术是基于Linux内核的cgroup技术实现的,那么问题来了,如果在非Linux平台上使用docker技术需要依赖安装Linux系统的虚拟机。docker-machine就是docker公司官方提出的,可以用于在各种平台上快速创建具有docker服务的虚拟机的技术。可以把它简单理解为virtualbox或者vmware,其实最终docker-machine就是一个 docker host 主机和经过配置的 docker client 的结合体,最开始在win7上用得比较多,但是win10开始自带了hyper-v虚拟机,已经不再需要docker-machine了,docker可以直接运行在安装了Linux系统得hyper-v上。

docker-compose是在解决容器编排的问题

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

compose 是用来定义和运行一个或多个容器(通常都是多个)运行和应用的工具。使用 compose 可以简化容器镜像的构建以及容器的运行。

compose 使用 YAML 文件来定义多容器之间的关系。一个 docker-compose up 就可以把完整的应用跑起来。这个yaml文件里能记录多个容器启动的配置信息(镜像、启动命令、端口映射等),最后只需要执行docker-compose对应的命令就会像执行脚本一样地批量创建和销毁容器。 本质上,compose 把 YAML 文件解析成 docker 命令的参数,然后调用相应的 docker 命令行接口,从而将应用以容器化的方式管理起来。它通过解析容器间的依赖关系顺序地启动容器。

一个简单的配置例子

web:build: ports:- 8080:80volumes:- . : /codelinks:- redis
redis:image: redis

docker-swarm是解决多主机多个容器的部署调度的问题

swarm是基于docker平台实现的集群技术,他可以通过几条简单的指令快速的创建一个docker集群,接着在集群的共享网络上部署应用,最终实现分布式的服务。swarm技术相当不成熟,很多配置功能都无法实现,只能说是个半成品,目前更多的是使用Kubernetes或者是各公司自研的容器管理平台来管理集群和调度容器。Swarm 对外提供两种 API;一种是标准的 Docker API,例如 Dokku、Compose、Krane、Flynn、Deis、Jenkins等;另一种是 Swarm 的集群管理 API,用于集群的管理。

Docker三剑客详解相关推荐

  1. 图形化管理工具Portaniner安 以及 Docker镜像详解(三)

    文章目录 图形化管理工具Portaniner安装 Docker镜像详解 1 什么是镜像 2 Docker镜像加载原理 3 分层理解 提交镜像 常用容器部署 Nginx部署 图形化管理工具Portani ...

  2. 虚拟化技术之docker技术详解

    文章目录 虚拟化技术之docker技术详解 关于作者 作者介绍 前言 虚拟化技术概述及简介 一 .什么是虚拟化技术? 二.常见的虚拟化技术有哪些? 2.1 KVM 虚拟化技术概念 2.2 ESXI 虚 ...

  3. Docker全面详解(二)

    3. run运行流程图 4. 底层原理 4.1. Docker是怎么工作的 4.2. Docker为什么比VM快? 5. Docker的常用命令(重) 5.1. 帮助命令 5.2. 镜像命令(基础) ...

  4. Docker网络详解——原理篇

    前言 当你开始大规模使用Docker时,你会发现需要了解很多关于网络的知识.Docker作为目前最火的轻量级容器技术,有很多令人称道的功能,如Docker的镜像管理.然而,Docker同样有着很多不完 ...

  5. Docker入门详解

    Docker详解 文章目录 一.Docker简介 1.1 Docker发展史 1.2 Docker的优点 1.3 传统虚拟化与容器的区别 1.3 Docker结构 二.Docker底层技术 2.1 N ...

  6. Docker网络资源详解 ---(四种网络模式)

    文章目录 前言 一:Dcker网络资源详解 简单云平台生态环境图 普通单节点 桥接图 1.1:网络资源详解:Docker0网卡与四种网络模式 二 . Docker0网卡的解释 1. host模式 2. ...

  7. docker inspect 详解

    一.功能介绍 docker inspect 会以 json 格式得到 docker 镜像/容器的元数据. 如下,查看mysql镜像的完整元数据: docker inspect mysql:5.7 [{ ...

  8. docker pull 详解

    docker pull 用于从镜像仓库中拉取或更新指定镜像,用法如:docker pull centos ,默认是从 Docker Hub 中拉取镜像 在拉取镜像前,我们可以先配置 docker 加速 ...

  9. Docker(七):Docker build 、Docker Dockerfile 详解

    什么是dockerfile? Dockerfile是一个包含用于组合映像的命令的文本文档.可以使用在命令行中调用任何命令. Docker通过读取Dockerfile中的指令自动生成映像. docker ...

  10. 看了这篇Docker指令详解,网友直呼:我收藏了你呢?

    Docker的使用 为什么要使用Docker? Docker的安装 Ubuntu Docker常用指令 Docker的使用入门 实例:配置 tomcat环境 为什么要使用Docker? 可移植性部署. ...

最新文章

  1. scrapy获取a标签的连接_python爬虫——基于scrapy框架爬取网易新闻内容
  2. 穿越剧_张宇鑫:穿越剧——从皇帝到乞丐
  3. 从命令式功能到纯功能性,然后再返回:Monads与范围内的延续
  4. c++实现插入和冒泡排序
  5. java定时关机源码_【Java】定时关机源码
  6. python爬虫怎么赚钱-如何用爬虫技术赚钱?
  7. 拓扑排序Topological Sorting
  8. 使用 Vi/Vim 编辑器:基础篇
  9. C++ 灰度图像伪彩色处理
  10. html半透明遮罩,div背景半透明 覆盖整个可视区域的遮罩层效果
  11. 输入一个整数,若为奇数则输出其平方根,否则输出其立方根(分别用单分支、双分支和条件运算实现)
  12. python程序扩展名 py、pyc、pyo、pyd文件区别
  13. orb slam [RGBD-1] process has died解决
  14. 1056: 兔子繁殖问题
  15. 每天一点数据库之-----Day 9 表连接
  16. Rails 中 scope
  17. convert转化函数的用法
  18. 欧盟委员会获得首个网络安全认证计划
  19. 宝尚快讯科技股属于超跌反弹,难持久
  20. python 两种提取pdf中图片的包

热门文章

  1. html5 meta keywords,HTML中meta标签及Keywords介绍
  2. EXCEL/WPS中的数组公式{},在钉钉用什么进行替代
  3. 条形码转化成二维码_在线条形码生成器
  4. jQuery DOM操作
  5. VARCHART XGantt v5.2用户手册:甘特图如何Drag Drop
  6. Kotlin中问号 ? 和两个叹号 !! 的含义
  7. 108个Mac电脑快捷键大全
  8. freenom免费域名的申请+cloudflare(域名代理解析)
  9. 【MyEclipse】配置代码格式化模版
  10. Windows上的Oracle检查列表。 (文档ID 443813.1)