我试图弄清楚名称和有多少软件包存在于基于Ubuntu的映像在DockerHub中。我可以找到它后,运行映像在我的计算机上,并运行命令“dpkg -l”。但命令将不同,如果映像是alpine或redhat为基础的。有没有办法知道,而不运行它?这样我就可以写一个脚本,可以找到软件包信息,关于Docker映像拥有的操作系统类型。Docker inspect命令未正确返回它。先谢了。我试着运行Docker Inspect,但没有成功
ruyhziif1#
Docker映像不一定包含这样的操作系统。它可能只包含可执行文件。Docker Hub上的hello-world映像就是这样的映像。但是,如果映像确实包含某个发行版的库和可执行文件,通常它还包含/etc/os-release文件,其中包含有关发行版的信息。要找出映像基于哪个分布,可以运行以下命令
hello-world
/etc/os-release
docker run --rm <image name> cat /etc/os-release
对于alpine:latest图像,将打印
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"
但就像我说的,它不会对所有的图像都起作用。
1条答案
按热度按时间ruyhziif1#
Docker映像不一定包含这样的操作系统。它可能只包含可执行文件。Docker Hub上的
hello-world
映像就是这样的映像。但是,如果映像确实包含某个发行版的库和可执行文件,通常它还包含
/etc/os-release
文件,其中包含有关发行版的信息。要找出映像基于哪个分布,可以运行以下命令
对于
alpine:latest
图像,将打印但就像我说的,它不会对所有的图像都起作用。