我必须在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/*...."]
答案 0 :(得分:0)
您正在使用最小基本图像(registry.access.redhat.com/ubi7/ubi-minimal
)。您可以暂时切换到非最小映像(registry.access.redhat.com/ubi7/ubi
)并在那里安装iputils。