我正在尝试编写一个Dockerfile
并需要安装wget
在 docker 映像中。我不确定如何确定基本映像使用哪个发行版,或者使用哪个包管理器。Dockerfile
现在对我来说失败的一个例子是
FROM openjdk:18-jdk
RUN apt-get update && apt-get install -y wget
#...
Run Code Online (Sandbox Code Playgroud)
与错误#5 0.334 /bin/sh: apt-get: command not found
。如果我离开Dockerfile
as
FROM openjdk:18-jdk
Run Code Online (Sandbox Code Playgroud)
然后使用构建它docker build -t test:latest .
,然后使用 bash 将其输入docker run -it --rm --entrypoint "bash" test
,我可以通过运行以下命令找到发行版:
bash-4.4# cat /proc/version
Linux version 5.10.104-linuxkit (root@buildkitsandbox) (gcc (Alpine 10.2.1_pre1) 10.2.1 20201203, GNU ld (GNU Binutils) 2.35.2) #1 SMP Thu Mar 17 17:08:06 UTC 2022
Run Code Online (Sandbox Code Playgroud)
这让我认为它正在运行 Alpine,我认为应该用作apk
包管理器。但是,它似乎apk …