docker——三大核心概念

时间:2022-04-02 19:36:56

镜像、容器、仓库是docker的三大核心概念。

docker镜像类似于虚拟机镜像,你可以将其理解为一个只读模板。

docker容器类似于一个轻量级的沙箱,Docker利用容器来运行和隔离应用。
容器是从镜像创建的应用运行实例。可以将其启动、开始、停止、删除,而这些容器都是彼此相互隔离的、互不可见的。

镜像自身是只读的。容器从镜像启动时,会在镜像的最上层创建一个可写层。

简单的说,容器是镜像的一个运行实例。所不同的是,镜像只是静态的只读文件,而容器带有运行时需要的可写文件层
如果认为虚拟机是模拟运行的一整套操作系统(包括内核、应用运行态环境和其它系统环境)和跑在上面的应用,
那么docker容器就是独立运行的一个(或一组)应用,以及它必须的运行环境。

docker仓库类似于代码仓库,它是docker集中存放镜像文件的场所

需要注意的是仓库(repository),不要将docker仓库仓库注册服务器(registry)混淆。
仓库注册服务器是存放仓库的地方,其上往往存放着多个仓库。
每个仓库集中存放某一类镜像,往往包括多个镜像文件,通过不同的标签(tag)来区分。
比如,在下面这个仓库注册服务器中就有多个仓库,有Ubantu仓库、有CentOS的仓库,还有很多其它的仓库。

docker——三大核心概念

根据所存储的镜像是否公开,docker仓库可以分为公有仓库(public)和私有仓库(Private)两种形式。
目前最大的公开仓库是官方提供的Docker Hub。当然国内的很多云服务商也提供了很多源。
例如:阿里云、腾讯云、华为云、时速云、网易蜂巢等等。

查看某一个命令的帮助: man docker-xxx,例如man docker-images

还可以使用docker[-xx]  --help,例如docker tag --help