Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/docker/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Amazon web services 在aufs/diff中找不到容器文件夹_Amazon Web Services_Docker_Dockerfile - Fatal编程技术网

Amazon web services 在aufs/diff中找不到容器文件夹

Amazon web services 在aufs/diff中找不到容器文件夹,amazon-web-services,docker,dockerfile,Amazon Web Services,Docker,Dockerfile,我在aufs/diff文件夹中找不到Docker Container ID文件夹: 如果我删除容器或本地映像(使用rm/rmi),那么我可以看到一些文件夹从aufs/diff文件夹中被删除。这个映射是如何在ContainerID/ImageID和aufs/diff文件夹中的目录名之间进行的 编辑:输出码头工人信息 root@ip-172-31-34-158:/home/ubuntu# docker info Containers: 1 Running: 0 Paused: 0 Stopp

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

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

编辑:输出
码头工人信息

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

您需要的是
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

docker info
的输出添加到您的问题中为什么要查找该文件夹?您不应该看到docker如何在内部存储东西。因为它会根据存储驱动程序而变化,并且在不同的操作系统上不会相同。因此,请列出您的意图,以便建议更好的解决方案容器中创建了一些文件,我需要知道文件存储在主机物理磁盘中的路径。请告诉我如何获取存储文件的主机磁盘路径。如果您需要知道容器创建的文件的主机路径,您可能做错了什么。如果您需要与主机显式共享文件,请使用主机装载(
-v/host/path:/container/path
)。将
docker info
的输出添加到您的问题中为什么要查找该文件夹?您不应该看到docker如何在内部存储东西。因为它会根据存储驱动程序而变化,并且在不同的操作系统上不会相同。因此,请列出您的意图,以便建议更好的解决方案容器中创建了一些文件,我需要知道文件存储在主机物理磁盘中的路径。请告诉我如何获取存储文件的主机磁盘路径。如果您需要知道容器创建的文件的主机路径,您可能做错了什么。如果需要与主机显式共享文件,请使用主机装载(
-v/host/path:/container/path
)。这将显示docker内部修改的文件,这很好。但是,一旦容器停止/分离,我在硬盘驱动器中哪里可以找到这些文件?它应该在
aufs/diff
中的某个地方,因此只想知道
aufs/diff
中的文件夹如何映射到
容器ID/图像ID
。这非常有用。这将显示docker中修改的文件,这很好。但是,一旦容器停止/分离,我在硬盘驱动器中哪里可以找到这些文件?它应该在
aufs/diff
中的某个地方,因此只想知道
aufs/diff
中的文件夹如何与
容器ID/Image ID
映射。这非常有用