第2章 核心概念与安装配置
核心概念
Docker 大部分的操作都围绕着它的三大核心概念:镜像、容器和仓库。因此,准确把握 这三大核心概念对于掌握 Docker 技术尤为重要。
docker镜像
Dockcer镜像类似于虚拟机镜像,可以将它理解为一个只读的模板。
例如,一个镜像可以包含一个基本的操作系统环境,里面仅安装了 Apache 应用程序(或 用户需要的其他软件)。可以把它称为一个 Apache 镜像。
镜像是创建 Docker 容器的基础。
docker容器
Docker 容器类似于一个轻量级的沙箱, Docker利用容器来运行和隔离应用。 容器是从镜像创建s的应用运行实例。它可以启动、开始、停止、删除,而这些容器都是彼此相互隔离、互不可见的。
可以把容器看作一个简易版的 Linux 系统环境(包括 root 用户权限、进程空间、用户空 间和网络空间等)以及运行在其中的应用程序打包而成的盒子
❝
镜像自身是只读的。容器从镜像启动的时候,会在镜像的最上层创建一个可写层。
❞
docker仓库
Docker仓库类似于代码仓库,是Docker 集中存放镜像文件的场所。
有时候我们会将 Docker 仓库和仓库注册服务器 (Registry )混为一谈,并不严格区分。实 际上,仓库注册服务器是存放仓库的地方,其上往往 存放着多个仓库。每个仓库集中存放某一类镜像,往 往包括多个镜像文件,通过不同的标签 (tag) 来进行 区分。例如存放 Ubuntu 操作系统镜像的仓库,被称为Ubuntu 仓库,其中可能包括 16.04 18.04 等不同 版本的镜像。
❝
在 Docker 中,仓库注册服务器就像是一个大的仓库集合,它包含了很多个不同的仓库。每个仓库中都存储了同一类型的镜像,比如 Ubuntu 仓库中就只存有 Ubuntu 操作系统的镜像。这些镜像之间会有不同的版本,可以通过标签来区分,例如 16.04 和 18.04 就是 Ubuntu 不同版本的标签。总的来说,仓库注册服务器就是存放多个仓库的地方,而每个仓库中又有很多不同版本的镜像。
❞
根据所存储的镜像公开分享与否, Docker 仓库可以分为公开仓库 (Public) 和私有仓库 (Private) 两种形式。
目前,最大的公开仓库是官方提供的 Docker Hub, 其中存放着数量庞大的镜像供用户下 载。国内不少云服务提供商(如腾讯云、阿里云等)也提供了仓库的本地源,可以提供稳定 的国内访问
❝
可以看出, Docker 利用仓库管理镜像的设计理念与 Git 代码仓库的概念非常相似,实 际上 Docker设计上借鉴了 Git 的很多优秀思想。
❞
安装docker引擎
用户可以访问 Docker 官网的 Get Docker (www.docker.com/get-docker)… 看获取 Docker 的方式,以及Docker 支持的平台类型
目前 Docker 支持 Docker 引擎、 Docker Hub Docker Cloud 等多种服务。
- pocker 引擎:包括支持在桌面系统或云平台安装 Docker, 以及为企业提供简单安全 弹性的容器集群编排和管理;
- DockerHub: 官方提供的云托管服务,可以提供公有或私有的镜像仓库;
- DockerCloud :官方提供的容器云服务,可以完成容器的部署与管理,可以完整地支 持容器化项目,还有 CI CD 功能。
Docker 引擎目前分为两个版本:社区版本 (CommunityEdition, CE) 和企业版本 (EnterpriseEdition, EE) 。社区版本包括大部分的核心功能,企业版本则通过付费形式提供 认证支持、镜像管理、容器托管、安全扫描等高级服务。通常情况下,用户使用社区版本可 以满足大部分需求;若有更苛刻的需求,可以购买企业版本服务