有没有可能在不运行docker镜像的情况下找到安装在centos或ubuntu的docker镜像中的包
envsm3lx1#
这是不可能的,但是,如果你有访问图像Dockerfile你可以看看什么包正在安装,否则,运行下面的命令将显示图像的层:
docker image history --no-trunc image_name > image_history
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}有时有一个1或2后缀在开始,不知道这是什么意思。
dpkg-query
${Version}
1
2
dpkg-query -W -f '${Package}:${Version}:${Architecture}\n'
2条答案
按热度按时间envsm3lx1#
这是不可能的,但是,如果你有访问图像Dockerfile你可以看看什么包正在安装,否则,运行下面的命令将显示图像的层:
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}
有时有一个1
或2
后缀在开始,不知道这是什么意思。