什么是docker镜像?

有有提问于 2018-01-22 02:33
2 个回答
  • 用户94591622018-03-24 21:27

    Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口。

  • 凤萧2018-01-22 09:04

    要想玩转Docker,首先要玩转 Docker 镜像。上一张 Docker 命令导图:





    从中可以看出,Docker 包含三个基本概念,分别是镜像(Image)、容器(Container)和仓库(Repository)。镜像是 Docker 运行容器的前提,仓库是存放镜像的场所,可见镜像更是Docker的核心。



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



    要想更深入的了解 Docker 镜像,镜像的原理也必不可少,而这其中最重要的概念就是镜像层(Layers)(如下图)。镜像层依赖于一系列的底层技术,比如文件系统(filesystems)、写时复制(copy-on-write)、联合挂载(union mounts)等,幸运的是你可以在很多地方学习到这些技术,这里就不再赘述技术细节。





    总的来说,你最需要记住这点:



    在 Dockerfile 中, 每一条指令都会创建一个镜像层,继而会增加整体镜像的大小。



    镜像作为 Docker 最突出的创新之一,它变革了软件交付标准。理解镜像,对理解整个 Docker 的生命周期非常重要。



    注:对镜像应用感兴趣的同学,还可以看看这几期的《玩转 Docker 镜像》系列,图文结合视频,可以帮助更好的理解 Docker 镜像。



    了解网易云相关产品 镜像仓库-网易云