我需要在一个Docker容器中调试网络问题,该容器使用“FROM registry.access.redhat.com/ubi7/ubi-minimal”构建。
这个容器没有像普通shell一样的“telnet”或“ping”。这是为了节省空间而故意设计的。
我尝试通过docker容器shell内的yum安装它们 - 但是yum不可用。他们使用了称为“microdnf”的东西,类似于yum。我尝试了“bash-4.2# microdnf install 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”,这样就可以使用yum了。
无论是从容器shell还是dockerfile中,都无法成功安装“yum install iputils”。
是否有一个(最好是红帽)镜像可以让我使用“ping”并正确处理我的Dockerfile?
这个容器没有像普通shell一样的“telnet”或“ping”。这是为了节省空间而故意设计的。
我尝试通过docker容器shell内的yum安装它们 - 但是yum不可用。他们使用了称为“microdnf”的东西,类似于yum。我尝试了“bash-4.2# microdnf install 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”,这样就可以使用yum了。
无论是从容器shell还是dockerfile中,都无法成功安装“yum install iputils”。
是否有一个(最好是红帽)镜像可以让我使用“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/*...."]
chown
行有一个错误之外,上述的Dockerfile构建得很好,即使我在microdnf安装行中添加了iputils
也是如此。而且,在运行的容器中,我可以进行ping操作,之后也能正常工作。 - undefined