Docker:Openjdk:14基于RHEL的映像,无法安装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