我已使用Dockerfile构建了一个docker映像:
-Dockerfile
// get the reference of RecyclerView
RecyclerView recyclerView = (RecyclerView) findViewById(R.id.recyclerView);
// set a StaggeredGridLayoutManager with 3 number of columns and vertical orientation
StaggeredGridLayoutManager staggeredGridLayoutManager = new StaggeredGridLayoutManager(3, LinearLayoutManager.HORIZONTAL);
recyclerView.setLayoutManager(staggeredGridLayoutManager); // set LayoutManager to RecyclerView
-构建docker映像:
FROM scratch
ADD archlinux.tar /
ENV LANG=en_US.UTF-8
CMD ["/usr/bin/bash"]
然后检查图像:
docker build -t archlinux/base .
然后进入overlay2文件夹并检查会发生什么情况
$ docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
archlinux/base latest 7f4e7832243a 43 minutes ago 399MB
现在我尝试运行:
root@ cd var/lib/docker/overlay2
# ls -al
0d5db16fa33657d952e4d7921d9239b5a17ef579e03ecdd5046b63fc47d15038
现在检查/ var / lib / overlay2文件夹
$ docker run -it archlinux/base
现在我看到了更多文件夹。
为什么在运行之前只有一个文件夹,后来又在overlay2中显示了很多文件夹。
如果使用docker命令检查图像,则显示与先前相同:
# ls -al
total 24
drwx------ 6 root root 4096 Mar 3 15:58 .
drwx--x--x 15 simha users 4096 Mar 3 07:25 ..
drwx------ 3 root root 4096 Mar 3 16:01 0d5db16fa33657d952e4d7921d9239b5a17ef579e03ecdd5046b63fc47d15038
drwx------ 4 root root 4096 Mar 3 16:01 500ef7ee5672b73c778e2080dda0ad7a9101d6b65e5bdb0b52f4e5d2f22fa2b3
drwx------ 4 root root 4096 Mar 3 15:58 500ef7ee5672b73c778e2080dda0ad7a9101d6b65e5bdb0b52f4e5d2f22fa2b3-init
drwx------ 2 root root 4096 Mar 3 15:58 l
如何理解overlay2中的图片及其图层
答案 0 :(得分:0)
首先请注意,/var/lib/docker/
目录的内容用于Docker的内部信息,不应被弄乱。
在该目录中,overlay2
目录的内容用于存储构成您的docker映像和容器的docker层。要记住的重要一点是,overlay2是使用union mounts的文件系统。简而言之,它将合并两个文件夹合并为一个。因此,在使用文件系统时,您可能会看到一个文件夹,但是在后台有更多文件夹。这就是docker制作layers的方式。