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