UBI8(红帽通用基础镜像)中安装tcpdump包失败的解决咨询
解决UBI8 Minimal中安装tcpdump失败的问题
我之前也碰到过一模一样的问题,UBI8 Minimal镜像默认只启用了最基础的软件仓库,而tcpdump并不在这个基础仓库里——它属于CodeReady Builder仓库,这个仓库默认是禁用的。另外你看到的证书警告是因为镜像里没有红帽订阅证书,但对于公开的UBI软件仓库,我们不需要订阅就能访问,只要正确启用对应的仓库就行。
下面是修改后的Dockerfile,能成功安装tcpdump:
FROM registry.access.redhat.com/ubi8/ubi-minimal # 先安装dnf-utils来管理仓库,然后启用CodeReady Builder仓库 RUN microdnf install -y dnf-utils && \ dnf config-manager --set-enabled codeready-builder-for-rhel-8-x86_64-rpms && \ # 安装所需软件包,更新并清理缓存 microdnf install -y sudo zip tar bash procps openssl iptables net-tools tcpdump && \ microdnf update -y && \ microdnf clean all ENTRYPOINT [ "/usr/sbin/tcpdump" ]
额外说明:
- 如果你的架构不是x86_64,需要把仓库名称里的
x86_64换成对应的架构(比如aarch64)。 - 那些
librhsm和dnf.conf的警告可以忽略,只要我们能正常访问公开仓库,就不会影响软件安装。 - 也可以手动添加仓库配置文件替代
dnf config-manager的步骤,比如创建/etc/yum.repos.d/codeready-builder.repo并写入对应仓库信息,但用dnf config-manager会更简洁可靠。
内容的提问来源于stack exchange,提问作者Joe
相关产品推荐
相关产品推荐

