首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法在aufs/diff中找到容器文件夹

无法在aufs/diff中找到容器文件夹
EN

Stack Overflow用户
提问于 2017-08-20 09:09:05
回答 1查看 557关注 0票数 0

我无法在Docker Container ID文件夹中找到aufs/diff文件夹:

如果我删除一个容器或本地图像(使用rm / rmi),那么我可以看到一些文件夹被从aufs/diff文件夹中删除。这个映射是如何在ContainerID / ImageIDaufs/diff文件夹中的目录名之间进行的?

docker info 编辑:的输出

代码语言:javascript
复制
root@ip-172-31-34-158:/home/ubuntu# docker info
Containers: 1
 Running: 0
 Paused: 0
 Stopped: 1
Images: 1
Server Version: 1.12.6
Storage Driver: aufs
 Root Dir: /var/lib/docker/aufs
 Backing Filesystem: extfs
 Dirs: 7
 Dirperm1 Supported: true
Logging Driver: json-file
Cgroup Driver: cgroupfs
Plugins:
 Volume: local
 Network: overlay host bridge null
Swarm: inactive
Runtimes: runc
Default Runtime: runc
Security Options: apparmor seccomp
Kernel Version: 4.4.0-1022-aws
Operating System: Ubuntu 16.04.2 LTS
OSType: linux
Architecture: x86_64
CPUs: 1
Total Memory: 990.9 MiB
Name: ip-172-31-34-158
ID: W6FS:JOLT:B2DT:XN4L:DDN5:5Q3G:RITI:IBSN:SPMC:DIH3:TCPT:IGZO
Docker Root Dir: /var/lib/docker
Debug Mode (client): false
Debug Mode (server): false
Registry: https://index.docker.io/v1/
WARNING: No swap limit support
Insecure Registries:
 127.0.0.0/8
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-08-20 13:43:44

您要寻找的是docker diff命令。考虑下面的流程

代码语言:javascript
复制
$ docker run -it ubuntu:16.04 bash
root@409b5316d718:/# mkdir -p /find/me/if/you/can
root@409b5316d718:/# touch /etc/newconfig
root@409b5316d718:/# touch /find/me/if/you/can/hereiam
root@409b5316d718:/# exit

然后得到最后一个退出容器的容器id。

代码语言:javascript
复制
$ docker ps -a -q -l
409b5316d718

使用docker diff查找已更改、添加或删除的内容

代码语言:javascript
复制
$ docker diff 409b5316d718
C /etc
A /etc/newconfig
A /find
A /find/me
A /find/me/if
A /find/me/if/you
A /find/me/if/you/can
A /find/me/if/you/can/hereiam
C /root
A /root/.bash_history

C = Change
A = Added
D = Deleted

编辑-1

现在,要了解磁盘上的更改,您需要找到更多信息。这同样是针对AUFS驱动程序实现的,不适用于其他驱动程序。

首先,您需要找到容器的完整容器id。这可以在下面使用

代码语言:javascript
复制
$ docker inspect -f '{{ .Id }}' 409b5316d718
409b5316d7186f5dfb91d3d016841c7aba2c7aa3cf6e8969beff1a8ea728fa0e

接下来,您需要找到顶层挂载层的ID,下面可以这样做。

代码语言:javascript
复制
$ ID=409b5316d7186f5dfb91d3d016841c7aba2c7aa3cf6e8969beff1a8ea728fa0e

$ cat /var/lib/docker/image/aufs/layerdb/mounts/$ID/mount-id
82f629a33f82936f91a61d1edfd4d19ccb5b684b933a10d2bf2c6e54278b7d2f

一旦您有了挂载ID,就可以列出它的内容了。

代码语言:javascript
复制
$ tree  /var/lib/docker/aufs/diff/82f629a33f82936f91a61d1edfd4d19ccb5b684b933a10d2bf2c6e54278b7d2f/
/var/lib/docker/aufs/diff/82f629a33f82936f91a61d1edfd4d19ccb5b684b933a10d2bf2c6e54278b7d2f/
├── etc
│   └── newconfig
├── find
│   └── me
│       └── if
│           └── you
│               └── can
│                   └── hereiam
└── root

7 directories, 2 files
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45780394

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档