显示安装在Docker映像中的软件包而不运行映像

tktrz96b  于 2022-11-22  发布在  Docker
关注(0)|答案(2)|浏览(130)

有没有可能在不运行docker镜像的情况下找到安装在centos或ubuntu的docker镜像中的包

envsm3lx

envsm3lx1#

这是不可能的,但是,如果你有访问图像Dockerfile你可以看看什么包正在安装,否则,运行下面的命令将显示图像的层:

docker image history --no-trunc image_name > image_history
gc0ot86w

gc0ot86w2#

贴出类似的问题,得到了很好的回答:
Docker image - universal way to list packages installed in an image without running it by analyzing the binary only
对于Ubuntu,我认为dpkg-query是可用的。https://man7.org/linux/man-pages/man1/dpkg-query.1.html
不知何故,我得到了一个格式或多或少的工作,但${Version}有时有一个12后缀在开始,不知道这是什么意思。

dpkg-query -W -f '${Package}:${Version}:${Architecture}\n'

相关问题