簡體   English   中英

無法在aufs / diff中找到Container文件夾

[英]Unable to locate Container folder in aufs/diff

我在aufs/diff文件夾中找不到Docker Container ID文件夾:

在此處輸入圖片說明

如果我刪除了一個容器或本地映像(使用rm / rmi ),那么我會看到一些文件夾從aufs/diff文件夾中刪除了。 如何在ContainerID / ImageIDaufs/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

您正在尋找的是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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM