如果我做
$ sudo docker cp c7033ac0fdd2:/home/mydir/myfile.txt .
文件被复制。但如果我这样做
$ sudo docker ls c7033ac0fdd2:/home/mydir/
docker: 'ls' is not a docker command.
See 'docker --help'
那么如何列出目录内容以及为什么它不使用 with 制作ls
?
答案1
假设一些合理的事情(有一个 shell 和一个 ls 程序,并且容器的入口点没有被严格锁定)
docker exec c7033ac0fdd2 ls /home/mydir
至于“为什么?”,应该在 docker 中构建多少内容以及应该使用外部程序做多少事情是有限制的。
如果假设无效,那么您可以将容器的内容导出为 tar 文件并查看,例如
docker container export c7033ac0fdd2 | tar vtf - | grep /home/mydir