2017-08-20 6 views
0

私はaufs/diffフォルダにDocker Container IDフォルダを見つけることができません見つけることができません:その後、私はコンテナやローカルの画像を削除した場合(rm/rmiを使用して)AUFSコンテナフォルダ/デフ

enter image description here

を私がすることができますaufs/diffフォルダからいくつかのフォルダが削除されるのを参照してください。このマッピングはContainerID/ImageIDaufs/diffフォルダ内のディレクトリ名の間でどのように行われますか?

EDIT:あなたが探しているものをdocker info

[email protected]:/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

質問に「ドッカー情報」の出力を追加してください –

+0

なぜフォルダをお探しですか?ドッカーが内部的に物を保管する方法を見てはいけません。なぜなら、ストレージドライバに基づいて変化し、異なるOS上では同じではないからです。したがって、あなたの意図を列記して、よりよい解決策を提案することができます –

+0

コンテナにはいくつかのファイルが作成されており、ファイルがホストの物理ディスクに保存されるパスを知る必要があります。ファイルが保存されるホストディスクパスを取得する方法を教えてください。 – user182944

答えて

1

の出力がdocker diffコマンドです。あなたは、変更されているものを見つけるために、最後のEXITEDコンテナ

$ docker ps -a -q -l 
409b5316d718 

使用ドッキングウィンドウの差分のコンテナIDを取得し、追加または削除すると、以下の流れ

$ docker run -it ubuntu:16.04 bash 
[email protected]:/# mkdir -p /find/me/if/you/can 
[email protected]:/# touch /etc/newconfig 
[email protected]:/# touch /find/me/if/you/can/hereiam 
[email protected]:/# exit 

を考えてみましょう

$ 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

ここでcあなたが詳細を見つける必要があるディスクにぶら下がっている。これはAUFSドライバの実装に固有であり、他のドライバでは機能しません。

まず、コンテナの完全なコンテナIDを見つける必要があります。これは、あなたが

以下
$ ID=409b5316d7186f5dfb91d3d016841c7aba2c7aa3cf6e8969beff1a8ea728fa0e 

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

で行うことができ、このあなたがマウントIDを持っていたら、あなたはの内容を一覧表示することができ、トップのIDが層をマウント見つける必要

$ docker inspect -f '{{ .Id }}' 409b5316d718 
409b5316d7186f5dfb91d3d016841c7aba2c7aa3cf6e8969beff1a8ea728fa0e 

次の下に使用して行うことができますその

$ 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 
+0

これは、ドッカー内で修正されたファイルを表示します。しかし、いったんコンテナが停止/切り離されると、これらのファイルはどこでハードドライブで見つけることができますか?それは 'aufs/diff'のどこかにあるはずです。したがって、' aufs/diff'のフォルダが 'Container ID/Image ID'でどのようにマップされているのか知りたかっただけです。 – user182944

+0

@ user182944、更新された回答を読む –

関連する問題