docker基础-基本概念

1.镜像

操作系统 = 内核 + 用户空间

对于linux而言,内核启动后,会挂载root文件系统为其提供用户空间支持,而docker镜像,就相当于root文件系统。

docker镜像是一个特殊的文件系统,除了提供容器运行时所需的程序,库,资源,配置等文件外,还包含了一些为运行时准备的一些配置参数(如匿名卷,环境变量,用户等),镜像不包含任何静态数据,其内容在构建之后也不会改变。

2.分层存储

docker采用了Union FS的技术,实现分层存储的技术,镜像并非一个文件产生,而是由一组镜像产生的,或者说是由多层文件系统联合组成。

镜像构建时,会一层一层的构建,前一层是后一层的基础,每一层构建完就不会再次改变,后一层的任何改变只会发生在当层,例如:删除前一层文件的操作,实际不是真的删除前一层的文件,而是删除前一层文件在当前层的标记。

优点:使镜像的复用,定制更容易。

3.容器

容器和镜像的关系,就像类和实例的关系,一个是静态一个是动态,容器运行于自己独有的命名空间,所以容器可以拥有自己的root文件系统,自己的网络配置,自己的进程空间等。

但是容器里的内存空间会随着容器的删除而删除,所以不能把资料存储在容器中,而应该使用数据卷或者绑定宿主目录,直接对宿主的内存空间进行操作。

4.仓库

docker registry是一个用于集中存储,分发镜像的服务,一个docker registry中可以包含多个仓库,每个仓库可以有多个标签,每个标签对应一个镜像。

例如:

ubuntu:16.04 前者为镜像名称,后者为版本号。

jwilder/nginx-proxy 前者为作者,后者为镜像名称。

5.docker registry公开服务

是开放给用户使用,允许用户管理镜像的registry服务。一般这种仓库是允许用户上传,下载,并提供收费服务用户管理的私有镜像。

6.私有docker registry

用户搭建在本地的私有仓库,但是只有命令行形式,如果想要图形界面,镜像维护和用户管理等,那么就需要用到Docker Trusted Registry,Harbor或者Sonatype Nexus。

猜你喜欢

转载自www.cnblogs.com/freeht/p/13167597.html