我做了一个docker拉,可以列出下载的图像。我想看看这张照片的内容。在网上查了一下,但没有直接的答案。
当前回答
我们可以尝试一个简单的方法,如下所示:
docker image inspect image_id
这在Docker版本中是有效的:
DockerVersion": "18.05.0-ce"
其他回答
如果图像包含一个shell,您可以使用该图像运行一个交互式shell容器,并探索该图像所具有的任何内容。如果sh不可用,busybox ash shell可能可用。
例如:
docker run -it image_name sh
或者跟随带有入口点的图像
docker run -it --entrypoint sh image_name
或者,如果你想查看映像是如何构建的,也就是Dockerfile中的步骤,你可以:
docker image history --no-trunc image_name > image_history
这些步骤将被记录到image_history文件中。
docker save nginx > nginx.tar
tar -xvf nginx.tar
有以下文件:
清单。json -描述具有Container属性的文件系统层和json文件的名称。 .json -容器属性 -每个“layerid”目录包含json文件,描述与该层相关的层属性和文件系统。Docker将容器映像存储为层,通过跨映像重用层来优化存储空间。
https://sreeninet.wordpress.com/2016/06/11/looking-inside-container-images/
OR
您可以使用dive与TUI交互查看图像内容
https://github.com/wagoodman/dive
如果你想在不启动容器的情况下列出镜像中的文件:
docker create --name listfiles <image name>
docker export listfiles | tar -t
docker rm listfiles
您不应该仅仅为了查看图像内容而启动容器。例如,您可能希望查找恶意内容,而不是运行它。使用“create”而不是“run”;
docker create --name="tmp_$$" image:tag
docker export tmp_$$ | tar t
docker rm tmp_$$
使用Docker EE for Windows (17.66.2 - EE -6 on Hyper-V Server 2016),可以在主机操作系统的C:\ProgramData\ Docker \windowsfilter\路径下检查Windows容器的所有内容。
不需要特殊安装。
文件夹前缀可以通过docker ps -a输出的容器id找到。
推荐文章
- PYTHONUNBUFFERED在docker文件中的用途是什么?
- 如何在Dockerfile CMD中使用变量?
- 将主机端口转发到docker容器
- “docker compose”与“docker-compose”的区别
- /bin/sh: apt-get:未找到
- 如何在docker映像的新容器中运行bash ?
- docker -撰写持久数据MySQL
- 从主机连接到docker容器中的mysql
- 当我使用Alpine作为基本图像时,如何添加用户?
- Docker -绑定0.0.0.0:4000失败:端口已经分配
- 将Python诗歌与Docker集成
- 如何在系统启动时运行docker-compose up -d ?
- 如何确定一个进程是否运行在lxc/Docker内部?
- 在docker容器上挂载多个卷?
- Kubernetes如何使部署更新映像