Docker新手入门之一:前言
2018-01-20T12:16:30    1180    0    0
#### 容器技术是指可以让多个独立的用户空间运行在同一台宿主机上。 #### 容器只能运行与底层宿主机相同或相似的操作系统。 #### 在超大规模的多租户服务部署、轻量级沙盒以及对安全要求不太高的隔离环境中,容器技术非常流行。 #### Docker可以认为是一种先进的容器技术。 #### 本系列文章将从基本概念开始,到一些实践应用来逐步讲解Docker的概念与使用。 ## 1. Docker简介 简单的说,Docker是一个能够把开发的应用程序自动部署到容器的开源引擎。 Docker的目标如下: 1. 提供一个简单、轻量的建模方式:Docker入门简单、可以很快的将自己的程序Docker化;同时,Docker容器拥有很高的性能,在一台宿主机中可以运行多个容器。 2. 职责和逻辑相互分离:开发人员只需要专注于容器中运行的程序,而运维人员关心如何管理容器,分工明确。 3. 快速、高效的开发周期:程序可移植性高,易于构建。 4. 鼓励面向服务的架构:Docker鼓励面向服务的架构和微服务架构,即单个容器只运行一个应用程序或进程。 ## 2. Docker组件 Docker包含如下一些核心组件: 1. Docker客户端和服务器 2. Docker镜像 3. Registry 4. Docker容器 ### Docker客户端和服务器 Docker本身是一个C/S(Client/Server)的架构。 Docker客户端负责向Docker服务器或守护进程发出请求,服务器或守护进程完成所有工作并返回结果。 Docker本身提供了一套完整的命令行工具,同时也提供了一整套RESTful API。 ### Docker镜像 镜像是Docker的基石。用户基于镜像来运行自己的容器。 可以把镜像认为是容器的“源代码”。通常,镜像的体积较小,易于分享、存储和更新。 ### Registry Registry是一个用来保存用户镜像的一个仓库。 Registry分为公有和私有两种。目前,Docker公司运营的公共Registry称为Docker Hub。 我们可以在Docker Hub中上传自己的镜像,同样,我们也可以假设属于自己私有的Registry。 ### 容器 镜像是Docker生命周期中的构建或打包阶段,容器则是启动或执行阶段。 ## 3. Docker的用途 Docker容器具有如下一些特点: 1. 可以为各种测试提供很好的沙盒环境; 2. 具有“标准性”的特征,适合为服务创建构造块。 一些常用的场景如下: 1. 加速本地开发和构建流程,使之更加高效、轻量化。 2. 创建隔离的环境进行测试。 3. 构建一个多用户的PaaS(Platform as a Service)基础设施。 4. 为开发、测试提供轻量级的沙盒环境。 5. 高性能、超大规模的宿主机部署。 ## 4. Docker的管理与配置 Docker外围系统提供了各种各样功能的管理和配置工具。 例如后文中会讲到的Fig,Consul以及Swarm、Kubernetes等。 ## 5. Docker的优势功能 1. 文件系统隔离:每个容器都用自己的root文件系统。 2. 进程隔离:每个容器都运行在自己的进程环境中。 3. 网络隔离:容器间的虚拟网络接口和IP地址都是分开的。 4. 资源隔离和分组:使用cgroups将CPU和内存之类的资源独立分配给每个Docker容器。 5. 写时复制机制:文件系统分层、快速,且占用的磁盘空间更小。 6. 日志功能:Docker容器日志正常记录,可以进行相应的查看。 7. 交互式Shell功能:用户可以创建一个伪tty终端,从而得到一个交互式的shell环境。 ## 6. 本系列博客的后续内容 在后续的系列文章中,我们将分别讲解如下的内容: 1. Docker的安装 2. Docker容器使用详解 3. Docker镜像的使用详解 4. Docker在测试中的实践应用 5. Docker在开发环境中的使用实践 6. Fig和Consul等Docker管理工具 7. Docker API详解 8. Docker常用命令总结手册

上一篇:

下一篇: Docker新手入门之二:Docker的安装

0条评论