Aym*_*ine 249
您可以使用该图像运行交互式shell容器,并浏览该图像所具有的任何内容.
例如:
docker run -it image_name sh
或者,如果您想了解图像是如何构建的,意味着其中的步骤Dockerfile,您可以:
docker image history --no-trunc image_name > image_history
Run Code Online (Sandbox Code Playgroud)
这些步骤将记录到image_history文件中.
lar*_*sks 141
这里接受的答案是有问题的,因为无法保证图像具有任何类型的交互式shell.例如,无人驾驶飞机/无人驾驶飞机的图像包含在单个命令/drone,并且它有一个ENTRYPOINT为好,因此这将失败:
$ docker run -it drone/drone sh
FATA[0000] DRONE_HOST is not properly configured
Run Code Online (Sandbox Code Playgroud)
这将失败:
$ docker run --rm -it --entrypoint sh drone/drone
docker: Error response from daemon: oci runtime error: container_linux.go:247: starting container process caused "exec: \"sh\": executable file not found in $PATH".
Run Code Online (Sandbox Code Playgroud)
这不是一种不常见的配置; 许多最小图像仅包含支持目标服务所需的二进制文件.幸运的是,有一些机制可以探索不依赖于图像内容的图像文件系统.最简单的可能是docker export命令,它将容器文件系统导出为tar存档.所以,启动一个容器(无论是否失败都无关紧要):
$ docker run -it drone/drone sh
FATA[0000] DRONE_HOST is not properly configured
Run Code Online (Sandbox Code Playgroud)
然后使用docker export将文件系统导出到tar:
$ docker export $(docker ps -lq) | tar tf -
Run Code Online (Sandbox Code Playgroud)
这docker ps -lq意味着"给我最新的码头工人的身份".您可以使用显式容器名称或ID替换它.
lge*_*man 54
您不应该只是为了查看图像内容而启动容器.例如,您可能希望查找恶意内容,而不是运行它.使用"创建"而不是"运行";
__CODE__
And*_*ong 34
docker save nginx > nginx.tar
tar -xvf nginx.tar
Run Code Online (Sandbox Code Playgroud)
存在以下文件:
https://sreeninet.wordpress.com/2016/06/11/looking-inside-container-images/
要么
您可以使用潜水通过TUI交互查看图像内容
https://github.com/wagoodman/dive
Kha*_*oui 19
探索码头工人形象!
bash或sh......首先检查图像: docker inspect name-of-container-or-image
在 JSON 返回中查找entrypoint或cmd。
docker run --rm -it --entrypoint=/bin/bash name-of-image一旦进入 do:ls -lsa或任何其他 shell 命令,如:cd ..
该-it代表互动......和TTY。在--rm运行后,表示删除的容器。
如果没有像ls或bash现在这样的常用工具,并且您可以访问Dockerfile简单的将常用工具添加为图层。
示例(高山 Linux):
RUN apk add --no-cache bash
Run Code Online (Sandbox Code Playgroud)
当您无权访问时,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
Run Code Online (Sandbox Code Playgroud)
小智 16
如果您想在不启动容器的情况下列出映像中的文件:
\ndocker create --name listfiles <image name>\ndocker export listfiles |\xc2\xa0tar -t\ndocker rm listfiles\nRun Code Online (Sandbox Code Playgroud)\n
要列出您必须运行的图像的详细内容,docker run --rm image/name ls -alR其中--rm一旦从容器中退出就会删除.
| 归档时间: |
|
| 查看次数: |
129246 次 |
| 最近记录: |