我试图在不运行的情况下访问docker镜像,我只是想知道它包含什么用于验证。我不能ssh到容器,因为它只在一秒钟内结束,所以我需要探索图像而不是容器。 要么 无论如何都要在容器完成之前访问它?
答案 0 :(得分:3)
实际探索图像非常麻烦。 docker save
命令的输出非常友好。你最好不要使用容器。但是,您不必运行容器来执行此操作。
您可以使用docker create
命令与其他几个命令一起探索容器而不运行它:
docker pull alpine
docker create --name foo alpine false
docker export foo | # Export the entire filesystem as a tape archive
tar -tf- | # Use tar to output the names of files
less # pipe to less to page the output
如果要检查单个文件,可以使用docker cp
,如下所示:
docker cp foo:etc/passwd - | tar -xO | head -n3
root:x:0:0:root:/root:/bin/ash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
你可以在最后一句话中不使用管道而逃脱;你会在顶部得到一些焦油垃圾,但如果你只是在探索它并不重要。
答案 1 :(得分:2)
知道了,这是命令:
docker run -i -t image/container /bin/bash