在docker中,镜像可以用来打包软件运行环境和基于运行环境开发的软件;镜像是Docker运行容器的前提,仓库是存放镜像的场所,更是Docker的核心,除了提供容器运行时所需的程序、库、资源、配置等文件外,还包含了一些为运行时准备的一些配置参数。
本教程操作环境:linux7.3系统、docker19.03版、Dell G3电脑。
docker镜像可以做什么
镜像到底是什么?
镜像是一种轻量级、可执行的独立软件包,用来打包软件运行环境和基于运行环境开发的软件,它包含运行某个软件所需的所有内容,包括代码、运行时、库、环境变量和配置文件。
docker镜像的用处:
1、镜像是Docker运行容器的前提,仓库是存放镜像的场所,更是Docker的核心;
2、镜像可以看作是一个特殊的文件系统,除了提供容器运行时所需的程序、库、资源、配置等文件外,还包含了一些为运行时准备的一些配置参数。
为什么有 Docker 镜像?
Paas 时代,它是提供一种叫 “托管应用” 的能力,在部署应用时,通过手工或写一些脚本的方式进行部署。这样部署面临问题就是云端和本地环境一致问题。
Docker 项目和 Cloud Foundry 的容器没有太大不同,都是用 Cgroups 和 Namespace 来实现的“沙盒”,不同的功能是docker 项目 Docker 镜像。Paas 很麻烦的原因就是用户为每个应用打包过程比较繁琐,需要配置和给中修改等操作,非常费劲。
然而,Docker 镜像就是为了解决这个小小的打包功能,突然一夜之间成名。那么,你可能说 Docker 镜像就是个压缩包,是的,你猜对了,它就像一个压缩包文件。它是如何解决 Paas 时代所面临的云端和本地一致性问题?很简单,它是把一个镜像制作成一个完整的操作系统所有文件和对应的目录结构,这样的压缩包是跟你本地和测试环境用的操作系统一摸一样。
Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中,然后发布到任何流行的 Linux或Windows操作系统的机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口。
从中可以看出,Docker 包含三个基本概念,分别是镜像(Image)、容器(Container)和仓库(Repository)。镜像是 Docker 运行容器的前提,仓库是存放镜像的场所,可见镜像更是Docker的核心。
回到正题,Docker 镜像可以看作是一个特殊的文件系统,除了提供容器运行时所需的程序、库、资源、配置等文件外,还包含了一些为运行时准备的一些配置参数(如匿名卷、环境变量、用户等)。镜像不包含任何动态数据,其内容在构建之后也不会被改变。
推荐学习:《docker视频教程》