1.Docker镜像
Docker镜像类似于虚拟机镜像,可以将它理解为一个只读的模板。例
如,一个镜像可以包含一个基本的操作系统环境,里面仅安装了Apache应用
程序(或用户需要的其他软件)。可以把它称为一个Apache镜像。
镜像是创建Docker容器的基础。通过版本管理和增量的文件系
统,Docker提供了一套十分简单的机制来创建和更新现有的镜像,用户甚至
可以从网上下载一个已经做好的应用镜像,并直接使用。
2.Docker容器
Docker容器类似于一个轻量级的沙箱,Docker利用容器来运行和隔离应
用。容器是从镜像创建的应用运行实例。可以将其启动、开始、停止、删
除,而这些容器都是彼此相互隔离的、互不可见的。
可以把容器看做是一个简易版的Linux系统环境(包括root用户权限、进
程空间、用户空间和网络空间等)以及运行在其中的应用程序打包而成的盒
子。
3.Docker仓库
Docker仓库类似于代码仓库,它是Docker集中存放镜像文件的场所。
有时候会看到有资料将Docker仓库和仓库注册服务器(Registry)混为
一谈,并不严格区分。实际上,仓库注册服务器是存放仓库的地方,其上往
往存放着多个仓库。每个仓库集中存放某一类镜像,往往包括多个镜像文
件,通过不同的标签(tag)来进行区分。例如存放Ubuntu操作系统镜像的仓
库称为Ubuntu仓库,其中可能包括14.04、12.04等不同版本的镜像。
根据所存储的镜像公开分享与否,Docker仓库可以分为公开仓库
(Public)和私有仓库(Private)两种形式。目前,最大的公开仓库是官方
提供的Docker Hub,其中存放了数量庞大的镜像供用户下载。国内不少云服务
提供商(如时速云、阿里云等)也提供了仓库的本地源,可以提供稳定的国
内访问。
当然,用户如果不希望公开分享自己的镜像文件,Docker也支持用户在
本地网络内创建一个只能自己访问的私有仓库。当用户创建了自己的镜像之
后就可以使用push命令将它上传到指定的公有或者私有仓库。这样用户下次
在另外一台机器上使用该镜像时,只需要将其从仓库上pull下来就可以了。
网友评论