《Docker生产环境实践指南》——第1章 入门 1.1 术语
本节书摘来自异步社区《Docker生产环境实践指南》一书中的第1章,第1.1节,作者: 【美】Joe Johnston(乔•约翰斯顿)著,更多章节内容可以访问云栖社区“异步社区”公众号查看
第1章 入门建立Docker生产环境系统的首要任务,是以一个有助于想象各组件如何相互配合的方式来理解其术语。与其他快速发展的技术生态系统一样,我们可以预见,Docker野心勃勃的市场营销、不完善的文档以及过时的博客文章将造成使用者对各个工具职责理解上的混乱。
我们将在本章中定义贯穿全书的术语和概念,而非提供一份统一的Docker百科全书。通常情况下,我们的定义与生态系统中的大体一致,但如果你所阅读的博客文章中使用了不同的术语也不用太过惊讶。
在本章中,我们将介绍在生产环境中运行Docker的核心概念以及不涉及具体技术的容器常识。在随后的章节中,我们将讨论真实世界的生产环境用例,并详细说明其组件和供应商信息。
1.1 术语下面让我们来看一下本书所采用的Docker术语。
1.1.1 镜像与容器
镜像是指文件系统快照或tar包。
容器是指镜像的运行态。
1.1.2 容器与虚拟机
虚拟机持有整个操作系统和应用程序的快照。
虚拟机运行着自己的内核。
虚拟机可以运行Linux之外的其他操作系统。
容器只持有应用程序,不过应用程序的概念可以延伸到整个Linux发行版。
容器共享宿主机的内核。
容器只能运行Linux,不过在同一宿主机上运行的每个容器都可包含不同的发行版。
1.1.3 持续集成/持续交付
在应用程序新代码提交或触发其他条件时,系统自动构建新镜像并进行部署。
1.1.4 宿主机管理
设置/配备一台物理服务器或虚拟机以便用于运行Docker容器的过程。
1.1.5 编排
编排(orchestration,也称编配)这个术语在Docker生态系统中有多种含义。通常情况下,它包括调度和集群管理,不过有时也包括了宿主机管理。
在本书中,我们将编排作为一个松散的总称,包括容器调度的过程、集群的管理、容器的链接(发现),以及网络流量路由。或者换句话说,编排是个控制器进程,用于决定在哪里运行容器,以及如何让集群知道可用的服务。
1.1.6 调度
调度用于决定哪些容器可以以给定的资源约束(如CPU、内存和IO)运行在哪些宿主机上。
1.1.7 发现
容器如何公开服务给集群,以及发现如何查找其他服务并与之通信的过程。举个简单的用例:一个网站应用容器发现如何连接到数据库服务。
Docker文档中的发现是指将容器链接在一起,不过在生产级系统中,通常使用的是更复杂的发现机制。
1.1.8 配置管理
配置管理过去常常指的是Docker出现之前的自动化工具,如Chef和Puppet。大多数的DevOps团队正在转移到Docker上,以消除这类配置管理系统的复杂度。
在本书的示例中,配置管理工具只用于配备具有Docker和少量其他东西的宿主机。
编者按:这是一篇翻译,原文详见:https://docs.docker.com/compose/production/ 译文原文:http://www.itmuch.com/docker/27-docker-compose-in-production/,转载请说明出处。
为生产环境准备Docker容器的有关课程 本文讲的是为生产环境准备Docker容器的有关课程【编者的话】本文为独立顾问James Higginbotham于DZone网站中发布的文章Lessons in Preparing Docker Containers for Production,此文描述了在使用Docker进行生产时需要记住的一些关键点,包括自动化,数据库决策以及编排等方面的重要性。
内置编排工具且适用于生产环境的Docker 1.12 GA了! 本文讲的是内置编排工具且适用于生产环境的Docker 1.12 GA了!【编者的话】对于Docker来说,内置适用于生产环境的编排工具是件大事情。本文介绍了该内嵌编排工具的拓扑机构以及管理节点与工作节点之间通信的协议,并对该版本的内容进行总结,分别为容错、规模与性能、安全。
生产环境中Docker的持久化存储模式 本文讲的是生产环境中Docker的持久化存储模式【编者的话】在生产环境中使用Docker实现持久化存储一直是业界的热点问题,本文从到配置文件、机密材料、数据库、共享数据等方面做了些探讨,文中也谈到了一些需要避免的问题以及尽量将应用设计为无状态服务的原则。
生产环境中使用Docker Swarm的一些建议 本文讲的是生产环境中使用Docker Swarm的一些建议【编者的话】实践中会发现,生产环境中使用单个Docker节点是远远不够的,搭建Docker集群势在必行。然而,面对Kubernetes,Mesos以及Swarm等众多容器集群系统,我们该如何选择呢?它们之中,Swarm是Docker原生的,同时也是最简单,最易学,最节省资源的,至少值得我们多了解一下。
三个生产环境中使用Docker的案例 本文讲的是三个生产环境中使用Docker的案例【编者的话】本文为2017年初Docker线下见面会的记录,Solita、Zalando和Pipedrive公司做了Docker化经验分享,并对生产环境中使用Docker的细节进行讨论。本文还推荐了一些Docker生产环境中常使用的优秀工具。
生产环境运行Docker的9个关键决策 本文讲的是生产环境运行Docker的9个关键决策,【编者的话】生产环境运行Docker并没有想象的那么简单,如何实现稳定安全的部署和扩容? 又有哪些需要考虑的关键决策? 本文就此做了一些分析和阐述,赶紧来看看吧!
在生产环境中使用Docker必须注意的事情 本文讲的是在生产环境中使用Docker必须注意的事情,【编者的话】本文以最近非常火的希特勒怒喷Docker的视频为线索,详细分析了Docker存在的一些问题和弱点,以及在生产环境中使用Docker所要注意的方面。
异步社区 异步社区(www.epubit.com)是人民邮电出版社旗下IT专业图书旗舰社区,也是国内领先的IT专业图书社区,致力于优质学习内容的出版和分享,实现了纸书电子书的同步上架,于2015年8月上线运营。公众号【异步图书】,每日赠送异步新书。
相关文章
- docker swarm集群中manager节点个数的最佳实践
- docker中,将容器中的文件拷贝到宿主机上
- 技术分享 | 掌握高频 Docker 命令,夯实内功基础
- Docker入门 —— Docker的基本概念了解
- Docker:慕课网--第一个docker化的java应用
- Docker技术入门与实战(第2版)2.3 配置Docker服务
- Docker技术入门与实战(第2版)3.2 查看镜像信息
- Docker技术入门与实战(第2版)3.4 删除镜像
- 从Docker Hub和docker-registry看优秀的后端服务设计实现
- Docker服务启动报错:Job for docker.service failed because the control process exited with error code
- 执行docker ps时提示"dial unix /var/run/docker.sock: connect: permission denied"如何处理?
- 安全加固----九、Docker服务安全加固
- docker安装Oracle 12c
- 《Docker容器:利用Kubernetes、Flannel、Cockpit和Atomic构建和部署》——2.2 容器式Linux系统的Docker配置
- Docker环境搭建与使用:docker镜像使用
- 如何在docker中启动应用
- Docker入门
- 《Docker技术入门与实战》——2.2 安装Docker
- 《Docker技术入门与实战》——第3章 镜像
- pull docker/getting-started 80端口被占用 Error response from daemon: Ports are not available
- 浅析Docker数据管理-数据库容器化并持久化:数据卷概念、创建数据卷的2种方式、docker volume用法
- 浅析Docker Compose学习及docker-compose.yml配置文件参数介绍
- 【亲测好使】Docker问题starting container process caused process_linux.go:430
- manjaro docker install ros2 in raspberry pi4B 使用Docker安装ROS2 (ros-humble) 并开启对Wayland的支持