我做了一个docker拉,可以列出下载的图像。我想看看这张照片的内容。在网上查了一下,但没有直接的答案。
当前回答
探索docker图像!
弄清楚里面是什么样的shell bash或sh…
首先检查镜像:docker Inspect name-of-container-or-image
在JSON返回中查找入口点或cmd。
然后执行:docker命令——rm -it——entrypoint=/bin/bash映像名称
进入后执行:ls -lsa或其他shell命令,如:CD ..
它代表互动…和遥控。rm表示运行后删除容器。
如果没有像ls或bash这样的常用工具,而你可以访问Dockerfile,简单地将常用工具作为一个层添加。 示例(alpine Linux):
RUN apk add --no-cache bash
当你无法访问Dockerfile时,只需从新创建的容器中复制/提取文件并查看它们:
docker create <image> # returns container ID the container is never started.
docker cp <container ID>:<source_path> <destination_path>
docker rm <container ID>
cd <destination_path> && ls -lsah
其他回答
要列出映像的详细内容,您必须运行docker命令——rm image/name ls -alR,其中——rm表示一旦从容器中退出就立即删除。
onlineer,不运行docker(基于上面的响应)
IMAGE=your_image docker create --name filelist $IMAGE command && docker export filelist | tar tf - | tree --fromfile . && docker rm filelist
相同,但是报告树结构到result.txt
IMAGE=your_image docker create --name filelist $IMAGE command && docker export filelist | tar tf - | tree --noreport --fromfile . | tee result.txt && docker rm filelist
使用Docker EE for Windows (17.66.2 - EE -6 on Hyper-V Server 2016),可以在主机操作系统的C:\ProgramData\ Docker \windowsfilter\路径下检查Windows容器的所有内容。
不需要特殊安装。
文件夹前缀可以通过docker ps -a输出的容器id找到。
如果图像包含一个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登录
- 如何在ENTRYPOINT数组中使用Docker环境变量?
- Docker:容器不断地重新启动
- Mac/OS X上的/var/lib/docker在哪里
- 如何用docker-compose标记docker图像
- 从环境文件中读入环境变量
- 禁用特定RUN命令的缓存
- 从Docker容器获取环境变量
- E: gnupg, gnupg2和gnupg1似乎没有安装,但是这个操作需要其中一个
- 如何从docker更改默认docker注册表。IO到我的私人注册表?
- Docker- compose无法连接到Docker Daemon
- 单个命令停止和删除docker容器
- 使用GPU从docker容器?
- 如何使用本地映像作为dockerfile的基本映像?
- 谁能解释一下docker.sock