具有telnet和ping的Docker基本映像

时间:2020-05-28 11:43:48

标签: docker redhat ping telnet

我必须在Docker容器中调试网络问题。该容器是使用“ FROM Registry.access.redhat.com/ubi7/ubi-minimal”构建的

它没有普通外壳所具有的“ telnet”或“ ping”。那是为了节省空间而设计的。

我尝试通过yum在docker容器外壳中安装它们-yum不可用 他们使用了称为“ microdnf”的东西,就像 尝试过“ bash-4.2#microdnf install iputils”-没有软件包与“ iputils”匹配。 telnet的结果类似

尝试在创建映像的dockerfile内运行它。它似乎正在安装–但是图像创建会爆炸” “命令'/ bin / sh -c yum install iputils'返回了非零代码:1”

我将映像库从“ FROM Registry.access.redhat.com/ubi7/ubi-minimal”更改为“ FROM Registry.access.redhat.com/ubi7/ubi” 有可用的食物。

容器外壳和docker文件中的“ yum install iputils”以相同的方式失败。

是否有图像(最好是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/*...."] 

1 个答案:

答案 0 :(得分:0)

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