这个问题演示如何从已停止的容器中复制文件。这要求我知道文件的完整路径,包括它的文件名。我知道要复制文件的目录,但是我不知道它的文件名,因为它是动态生成的。如何将停止的容器中的目录中的文件列表为?
如果Docker容器正在运行,下面的Docker命令工作得很好。但是,如果停止了Docker容器,它就会失败。
docker exec --privileged MyContainer ls -1 /var/log
注意:文件不是存储在持久卷中的。
发布于 2018-02-20 19:27:44
对另一个问题的这个答案显示了如何使用另一个命令启动已停止的容器。下面是在停止的容器中列出文件的命令。
test_image
。docker commit $CONTAINER_ID test_image
docker run -ti --entrypoint=sh test_image
docker exec --privileged $NEW_CONTAINER_ID ls -1 /var/log
发布于 2020-08-28 14:25:38
当启动容器不是一个选项时,您总是可以导出您的映像(有点过分但是..)并列出其内容:
docker export -o dump.tar <container id>
tar -tvf dump.tar
参考资料:一种码头集装箱文件系统的开发
发布于 2020-08-31 14:35:14
命令docker diff *CONTAINER*
将列出自容器启动以来添加、删除和更改的文件。
如果一个文件在容器启动后没有改变,那么您必须知道启动容器的原始图像的内容。因此,这个答案并不理想,但避免创建一个图像并运行它。
与container-diff
不同,此命令不需要首先创建Docker映像。
https://stackoverflow.com/questions/48833905
复制相似问题