Docker: Openjdk:14 基于 RHEL 的映像,无法安装 yum/wget/netstat

Docker: Openjdk:14 RHEL based imaged, cannot install yum/wget/netstat

在我的 dockerfile 中,我需要一个在 OpenJDK 上工作的 Maven 构建器(至少 3.6)(需要 J14)。

FROM maven:3.6.3-openjdk-14 as builder

问题很简单:我需要 netstat 命令,因为它在多个脚本中使用。 OpenJDK 官方镜像是基于 RHEL 的,所以它没有安装任何这个包。 我尝试通过 wget 命令下载它或 yum,但正如您所猜到的,它没有安装。我觉得被困住了,因为看起来你不能在上面安装任何包。

该图像实际上是基于 Oracle

$ podman run -it maven:3.6.3-openjdk-14 /bin/bash -c 'cat /etc/os-release'
NAME="Oracle Linux Server"
VERSION="8.2"
ID="ol"
ID_LIKE="fedora"
VARIANT="Server"
VARIANT_ID="server"
VERSION_ID="8.2"
PLATFORM_ID="platform:el8"
PRETTY_NAME="Oracle Linux Server 8.2"
ANSI_COLOR="0;31"
CPE_NAME="cpe:/o:oracle:linux:8:2:server"
HOME_URL="https://linux.oracle.com/"
BUG_REPORT_URL="https://bugzilla.oracle.com/"

ORACLE_BUGZILLA_PRODUCT="Oracle Linux 8"
ORACLE_BUGZILLA_PRODUCT_VERSION=8.2
ORACLE_SUPPORT_PRODUCT="Oracle Linux"
ORACLE_SUPPORT_PRODUCT_VERSION=8.2

这实际上是一个“苗条”变体,其中 dnfyum 未安装,但 microdnf 已安装。尝试使用它:

RUN microdnf install /usr/bin/netstat

或者

RUN microdnf install net-tools