docker 应用篇————docker 的文件系统[十]

前言

简单介绍一下docker的文件系统。

正文

docker 容器启动就是一个文件系统的启动。

在docker中,每一层镜像都具备一些文件。

比如说,有一个centos的镜像。

里面就是一个微小版的文件系统。

然后比如说有第二次镜像。

第二层镜像有文件1和文件2和文件3。

他们合并就形成的了一个新的镜像。那么就有人问了,如果第二次镜像和第一层镜像有相同的文件怎么办?那么第二层镜像会覆盖第一层的。

上面文件5和文件2冲突,那么文件5就会覆盖文件2。

那么我们知道有一个commit的命令会将容器重新打包成一个镜像。那么是整个容器作为一层呢?

不是的。

我们做的文件修改,都在容器层里面。如果使用commit,那么容器层将作为镜像的一层。

下面证明一下。

这里我启动了tomcat。

然后呢,我们指定普通的tomcat容器的webapp里面是没有东西的。

那么我们把webapp.dist 里面的东西拷贝到webapp中来。

然后我们就看到了这只猫了。

现在我们用commit打包一下。

发现这个打包非常的块。

通过docker images 查看一下。

启动一下。

然后查看一下。

嗯,这样就打包成一个新的镜像了,并且能过启动了。

那么我们得查看是否符合我刚才说的。

通过docker inspect查看tomcat:9.0

其镜像结构是这样的。

那么看下docker inspect 查看一下我们刚才打包的新镜像。

多了下面这一层。

下一节数据卷。

原文地址:https://www.cnblogs.com/aoximin/p/15084330.html