我无法在我的 docker 容器中安装 yum

mik*_*i3a 1 rpm rhel yum docker

我有一个docker containerkeycloak图像构建的。

我想安装vim在容器中,但我发现我需要yum安装vim. 我试图yum从互联网上下载并使用rpm安装它,但是容器不必sudo让我更改文件权限。

以下是我的 linux 版本:

NAME="Red Hat Enterprise Linux"
VERSION="8.0 (Ootpa)"
ID="rhel"
ID_LIKE="fedora"
VERSION_ID="8.0"
PLATFORM_ID="platform:el8"
PRETTY_NAME="Red Hat Enterprise Linux 8.0 (Ootpa)"
ANSI_COLOR="0;31"
CPE_NAME="cpe:/o:redhat:enterprise_linux:8.0:GA"
HOME_URL="https://www.redhat.com/"
BUG_REPORT_URL="https://bugzilla.redhat.com/"

REDHAT_BUGZILLA_PRODUCT="Red Hat Enterprise Linux 8"
REDHAT_BUGZILLA_PRODUCT_VERSION=8.0
REDHAT_SUPPORT_PRODUCT="Red Hat Enterprise Linux"
REDHAT_SUPPORT_PRODUCT_VERSION="8.0" 
Run Code Online (Sandbox Code Playgroud)

如何在容器中安装任何文本编辑器?

msu*_*chy 9

最小的 RHEL 8 容器不包含 Yum(或 DNF),因为这需要 Python,这会大大增加图像的大小。但是,它包含microdnf哪些是用 C 编写的,哪些功能有限。

你应该能够做到

microdnf install vim
Run Code Online (Sandbox Code Playgroud)

或者

microdnf install yum
Run Code Online (Sandbox Code Playgroud)


小智 7

  • 以 root 身份连接到您的容器:
docker exec -u root -it <container> bash
Run Code Online (Sandbox Code Playgroud)

*然后安装vim(或你需要的)

microdnf install vim
Run Code Online (Sandbox Code Playgroud)


San*_*kar 5

我遇到了同样的问题并找到了解决方案。在您的Dockerfile, 尝试:

FROM jboss/keycloak:8.0.1
USER root
RUN microdnf install <whatever>
Run Code Online (Sandbox Code Playgroud)

哈。