前言
Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器上,也可以实现虚拟化,容器是完全使用沙箱机制,相互之间不会有任何接口。
Docker是有史以来增长最快的开源项目之一,在其周围的生态系统也是以类似的速度不断发展。
一个完整的Docker有以下几个部分组成:
- dockerClient客户端
- Docker Daemon守护进程
- Docker Image镜像
- DockerContainer容器[1]
看完这份文档你将获得哪些收获?
帮助你理解如何安装和卸载Docker中发布的轻件,你将学习如何运行、管理,并在不同的容器结构连接不同类型的软件。(每一个Docker用户需要会的基本技能)
对Docker的封装和软件的分发深度掌握,涵盖了不同大小Docker镜像的底层机制,以及对不同的封装和分发方法所进行的调查.这一部分 还包括对Docker Distribution项日的深入分析。
对照自己掌握知识点进行查漏补缺,帮助扫除知识盲区、重构知识体系。
学会自己构建和部署多个真实的实例,规模接近于大型的服务器软件。
能学到那些知识?
- 进入Docker的世界
- 在容器中运行软件
- 软件安装的简化
- 持久化存储和卷间状态共享
- 网络访问
- 隔离–限制危险
- 在镜像中打包软件
- 构建自动化和高级镜像设置
- 公有和私有软件分发
- 运行自定义Registry
- 多容器和多主机环境
- Docker Compose声明式环境
- Docker Machine和Swarm集群进入
由于篇幅限制,小编这里只将此实战文档的所含内容全部展现出来了,需要获取完整文档用以学习的朋友们可以关注一下小编,后台私信:“架构资料”获取。
**进入Docker的世界:**了解Docker 是什么、容器的介绍、Docker 如何解决大多数人只能忍受的软件问题,.为何你应该使用Docker
**在容器中运行软件包括:**使用容器执行互动和后台终端程序、容器和PID命名空间、容器配置和输出、客器中运行多个程序、注入配置到容器、持久化容器和容器的生命周期、容器的清理
学完这篇你就会明白容器使用的基本知识,以及Docker如何帮助解决混乱和冲突的问题。你将通过示例了解Docker功能的使用,而这些示例你可能会在日常使用中遇到。
**软件安装的简化概况:**明白选择所需的软件、使用Docker Hub查找和安装软件、学会从其他来源安装软件、了解文件系统的隔离、镜像和文件系统分层是如何工作的、使用分层镜像的优点
本章将回深入介绍到容器文件系统和软件的安装。软件安装分成三个步骤,如图3-1所示。
**持久化存储和卷间状态共享:**存储卷的简介、存储卷的两种类型、宿主机和容器之间如何共享数据、客器之间如何共享数据、存储卷的生命周期、存储卷之间的数据管理和控制模式。
**网络访问:**学习网络客器原型、Docker如何与计算机的网络一同工作、Docker如何构建网络容器、如何自定义容器网络、如何使容器对网络可见、发现网络上的其他容器。
**隔离一限制危险包括:**共享容器内存、用户、权限和管理员特权、授权访问某个具体的Linux功能、加强Linux隔离和安全的工具:SELinux 和AppArmor
**在镜像中打包软件:**关于手动的镜像构建和练习、从打包的角度看待镜像、扁平镜像、镜像版本控制的最佳实践。
本章的目的是为了帮助你理解镜像设计的关注点,帮助你学习构建镜像的工具,帮助你探索高级镜像模式。你会通过亲手实现一个现实世界的例子来学到这些知识。
**构建自动化和高级镜像设置:**使用Dockerfile自动化打包、元数据指令、文件系统指令、多进程和持久的容器、可信的基础鏡像、用户相关的内容、降低镜像的攻击面。
本节包含Dockerfile的基础知识、为什么使用Dockerfile是最佳方式的原因、对Dockerfile指令的简要概括、如何添加未来构建行为的内容。
**公有和私有软件分发:**选择一个项目分发方法、使用托管基础设施、运行和使用你自己的Registry、理解镜像手动分发工作流程、分发镜像资源
本章将教你如何选择和使用一个分发镜像到外部或者工作区域的方法。
**运行自定义Registry:**直接使用Registry API、搭建一个中央Registry、Registry认证工具、大规模配置Registry、通过通知集成。
这章讲解了几个分发Docker镜像的方法,其中一个方法涉及了运行Docker Registry,这是一个弹性的镜像分发组件,对于这个方法自身或者作为更大的复杂系统的一部分是非常有用的。出于这个原因,了 解如何配置自己的Registry将帮助你最有效地使用Docker。
**Docker Compose声明式环境:**如何使用Docker Compose、操作环境和项目迭代、扩展服务和清理、构建声明式环境
你曾经有没有加入一个已有项目的团队,并努力设置你的开发环境或者配置IDE?如果有人要你为他们的项目提供-一个测试环境,你能列举所有你需要的问题来完成工作吗?你能想象当环境发生变化时,开发团队和系统管理员要重新同步是多么痛苦吗?
本章向你介绍Docker Compose ( 也称为Compose),以及如何使用它来解决这些常见的问题
**Docker Machine和Swarm集群:**创建虚拟机,以Docker Machine运行Docker、集成并管理远程Docker Daemon、Docker Swarm集群介绍、借助于Docker Machine提供完整的Swarm集群、在集群中管理客器、有关容器调度和服务发现的Swarm解决方案。