有telnet和ping的Docker基础镜像

问题描述 投票:0回答:1

我必须在一个docker容器上调试网络问题。容器是用 "FROM registry.access.redhat.comubi7ubi-minimal "构建的。

它没有像普通shell那样的 "telnet "或 "ping"。那是为了节省空间而设计的。

我试着在docker容器shell中通过yum安装它们--yum不可用他们使用了一些叫做 "microdnf "的东西,就像yumTried "bash-4.2# microdnf install iputils"--没有匹配'iputils'的包。类似的结果为telnet

试着在创建镜像的docker文件中运行它。它似乎被安装了--但映像的创建却爆炸了""命令'binsh -c yum install iputils'返回了一个非零代码。1”

我把镜像基础从 "FROM registry.access.redhat.comubi7ubi-minimal "改成了 "FROM registry.access.redhat.comubi7ubi",这样就有yum可用了。

"yum install iputils "从容器shell,和从docker文件失败同样的方式。

有没有一个镜像(最好是redhat)可以让我使用 "ping",并能正确处理我的Dockerfile?

FROM registry.access.redhat.com/ubi7/ubi-minimal

RUN microdnf update -y && rm -rf /var/cache/yum
RUN microdnf clean all
RUN microdnf install shadow-utils

# Create a group and user
RUN groupadd -r myapp && useradd -r myapp -g myapp
RUN useradd -r aspisc  -g myapp

RUN mkdir -p /opt/smyapp/config
RUN mkdir -p /opt/smyapp/logs
RUN chown -R myapp:smyapp /opt/myapp

RUN mkdir -p /opt/myapp/bin && mkdir -p /opt/myapp/libs

RUN mkdir -p /opt/jre/

ENV JAVA_LIBS_CP /opt/myapp/libs
ENV LD_LIBRARY_PATH=/lib64
RUN echo JAVA_LIBS_CP=${JAVA_LIBS_CP}


EXPOSE 9500
EXPOSE 9501

ENTRYPOINT ["sh", "-c", "/opt/jre/bin/java $JAVA_OPTS -cp /opt/smyapp/bin/*:$JAVA_LIBS_CP/*...."] 
docker redhat ping telnet
1个回答
0
投票

你使用的是最小的基本镜像 (registry.access.redhat.com/ubi7/ubi-minimal). 您可以暂时切换到非最小图像 (registry.access.redhat.com/ubi7/ubi)并在那里安装iputils。

© www.soinside.com 2019 - 2024. All rights reserved.