有没有可能知道Docker映像使用的是什么类型的基本操作系统(ubuntu,alpine,redhat),而不需要运行它?

5lhxktic  于 2023-03-17  发布在  Docker
关注(0)|答案(1)|浏览(117)

我试图弄清楚名称和有多少软件包存在于基于Ubuntu的映像在DockerHub中。我可以找到它后,运行映像在我的计算机上,并运行命令“dpkg -l”。但命令将不同,如果映像是alpine或redhat为基础的。有没有办法知道,而不运行它?这样我就可以写一个脚本,可以找到软件包信息,关于Docker映像拥有的操作系统类型。Docker inspect命令未正确返回它。
先谢了。
我试着运行Docker Inspect,但没有成功

ruyhziif

ruyhziif1#

Docker映像不一定包含这样的操作系统。它可能只包含可执行文件。Docker Hub上的hello-world映像就是这样的映像。
但是,如果映像确实包含某个发行版的库和可执行文件,通常它还包含/etc/os-release文件,其中包含有关发行版的信息。
要找出映像基于哪个分布,可以运行以下命令

docker run --rm <image name> cat /etc/os-release

对于alpine:latest图像,将打印

NAME="Alpine Linux"
ID=alpine
VERSION_ID=3.17.2
PRETTY_NAME="Alpine Linux v3.17"
HOME_URL="https://alpinelinux.org/"
BUG_REPORT_URL="https://gitlab.alpinelinux.org/alpine/aports/-/issues"

但就像我说的,它不会对所有的图像都起作用。

相关问题