我们可以从命令" docker containerID change"获取文件列表。观察容器的变化。我可以知道列表中的每个文件都是常规文件或目录吗?
输入" GET / containers / 4fa6e0f0c678 /更改HTTP / 1.1
输出: HTTP / 1.1 200好的 Content-Type:application / json
[ { "路径":" / dev", "种类":0 }, { "路径":" / dev / kmsg", "亲切":1 }, { "路径":" / test", "亲切":1 } ]
答案 0 :(得分:0)
docker change api的输出是所有已修改文件/目录的列表。在linux中修改文件时,它的目录也会被修改。如果您只需要提取文件,则可以删除所有使用其名称区分的父项。像这样:
考虑更改文件名/use/share/my_file
。它在api中显示为:
[{ "Path": "/usr/share/my_file", "Kind": 0 },
{ "Path": "/usr/share", "Kind": 0 },
{ "Path": "/usr", "Kind": 0 }]
因此,如果您只想提取文件,您应该拆分每个路径并检入任何一个是它的父级:
["usr","share","my_file"],["usr","share"],["usr"]
甚至更简单,foreach Path,删除此路径中包含的所有路径:
/usr/share
的:/usr
包含在第一个中,因此您可以删除它。
对于/usr/share/my_file
,/usr
和/usr/share
包含在路径中并且可以删除。
开始自己动手,如果仍有问题,我们可以帮助解决。