《Docker技术入门与实战(第3版)》——2核心概念与安装配置
第2章核心概念与安装配置
本章首先介绍Docker的三大核心概念:
镜像(Image)
容器(Container)
仓库(Repository)
只有理解了这三个核心概念,才能顺利地理解 Docker 容器的整个生命周期。
随后,笔者将介绍如何在常见的操作系统平台上安装 Docker,包括 Ubuntu、CentOS、MacOS 和 Windows 等主流操作系统。
2.1 核心概念
Docker大部分的操作都围绕着它的三大核心概念:镜像、容器和仓库。因此,准确把握这三大核心概念对于掌握 Docker 技术尤为重要。
1. Docker镜像
Docker 镜像类似于虚拟机镜像,可以将它理解为一个只读的模板。
例如,一个镜像可以包含一个基本的操作系统环境,里面仅安装了 Apache 应用程序 (或用户需要的其他软件)。可以把它称为一个 Apache 镜像。
镜像是创建 Docker 容器的基础。
通过版本管理和增量的文件系统,Docker 提供了一套十分简单的机制来创建和更新现有的镜像,用户甚至可以从网上下载一个已经做好的应用镜像,并直接使用。
2. Docker容器
Docker 容器类似于一个轻量级的沙箱,Docker 利用容器来运行和隔离应用。
容器是从镜像创建的应用运行实例。它可以启动、开始、停止、删除,而这些容器都是彼此相互隔离、互不可见的。
可以把容器看作一个简易版的 Linux 系统环境(包括root用户权限、进程空间、用户空间和网络空间等)以及运行在其中的应用程序打包而成的盒子。
镜像自身是只读的。容器从镜像启动的时候,会在镜像的最上层创建一个可写层。
3. Docker仓库
Docker 仓库类似于代码仓库,是 Docker 集中存放镜像文件的场所。
有时候我们会将 Docker 仓库和仓库注册服务器(Registry)混为一谈,并不严格区分。实际上,仓库注册服务器是存放仓库的地方,其上往往存放着多个仓库。每个仓库集中存放某一类镜像,往往包括多个镜像文件,通过不同的标签(tag)来进行区分。例如存放 Ubuntu 操作系统镜像的仓库,被称为 Ubuntu 仓库,其中可能包括 16.04、18.04 等不同版本的镜像。仓库注册服务器的示例如图2-1所示。
根据所存储的镜像公开分享与否,Docker仓库可以分为公开仓库(Public)和私有仓库(Private)两种形式。
目前,最大的公开仓库是官方提供的Docker Hub,其中存放着数量庞大的镜像供用户下载。国内不少云服务提供商(如腾讯云、阿里云等)也提供了仓库的本地源,可以提供稳定的国内访问。
当然,用户如果不希望公开分享自己的镜像文件,Docker 也支持用户在本地网络内创建一个只能自己访问的私有仓库。
当用户创建了自己的镜像之后就可以使用push命令将它上传到指定的公有或者私有仓库。这样用户下次在另外一台机器上使用该镜像时,只需要将其从仓库上pull下来就可以了。
可以看出,Docker利用仓库管理镜像的设计理念与Git代码仓库的概念非常相似,实际上 Docker 设计上借鉴了 Git 的很多优秀思想。
- 点赞
- 收藏
- 关注作者
评论(0)