我无法在Docker Container ID
文件夹中找到aufs/diff
文件夹:
如果我删除容器或本地图片(使用rm
/ rmi
),我会看到一些文件夹从aufs/diff
文件夹中删除。如何在ContainerID / ImageID
和aufs/diff
文件夹中的目录名称之间进行此映射?
编辑:输出docker info
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
答案 0 :(得分:1)
您正在寻找的是docker diff
命令。考虑以下流程
$ 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
$ docker ps -a -q -l
409b5316d718
使用docker diff查找已更改,添加或删除的内容
$ 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。这可以使用下面的
来完成$ docker inspect -f '{{ .Id }}' 409b5316d718
409b5316d7186f5dfb91d3d016841c7aba2c7aa3cf6e8969beff1a8ea728fa0e
接下来,您需要找到顶部安装层的ID,您可以使用下面的
$ ID=409b5316d7186f5dfb91d3d016841c7aba2c7aa3cf6e8969beff1a8ea728fa0e
$ cat /var/lib/docker/image/aufs/layerdb/mounts/$ID/mount-id
82f629a33f82936f91a61d1edfd4d19ccb5b684b933a10d2bf2c6e54278b7d2f
获得装载ID后,您可以列出该装载的内容
$ 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