镜像(Image)
- Linux 我们都知道,操作系统分为
内核
和用户空间
- 对于 Linux 而言,内核启动后,会挂载
root
文件系统为其提供用户空间支持 - 而 Docker 镜像(lmage) 就相当于是一个 root 文件系统。比如官方镜像
centos7.6
就包含了完整的一套centos7.6
最小系统的 root 文件系统 - Docker 镜像是一个特殊的文件系统
- 除了提供容器运行时所需的程序、库、资源、配置等文件外
- 还包含了一些为运行时准备的一些配置参数(如匿名卷、环境变量、用户等)。镜像不包含任何动态数据,其内容在构建之后也不会被改变
- 镜像就是文件,是只读的,它提供了运行程序完整的软硬件资源,是应用程序的集装箱
容器(Container)
- 镜像(Image) 和容器(Container) 的关系,就像 Java 中的类和实例一样,镜像是静态的定义
- 容器是镜像运行时的实体。容器可以被创建、启动、停止、删除、暂停等
- 容器之间彼此隔离
仓库(Repository)
- 镜像构建完成后,可以很容易的在当前宿主机上运行,但是,镜像构建完成后
- 但是,如果需要在其它服务器上使用这个镜像
- 我们就需要一个集中的存储、分发镜像的服务,Docker Registry 就是这样的服务
- 一个 Docker Registry 中可以包含多个仓库(Repository)
- 每个仓库可以包含多个标签(Tag)
- 每个标签对应一个镜像
- 通常,一个仓库会包含同一个软件不同版本的镜像,而标签就常用于对应该软件的各个版本
我正在参与2023腾讯技术创作特训营第二期有奖征文,瓜分万元奖池和键盘手表