/usr/bin/dpkg 在 python:3.7-slim-stretch 上返回错误代码 (1)

use*_*815 1 java docker

嗨,我需要用 java 构建 python:3.7-slim-stretch docker 图像

这是我的 Dockerfile :

FROM python:3.7-slim-stretch


# Install OpenJDK-8
RUN apt-get update && \
apt-get install -y openjdk-8-jdk && \
apt-get install -y ant && \
apt-get clean;

# Fix certificate issues
RUN apt-get update && \
apt-get install ca-certificates-java && \
apt-get clean && \
update-ca-certificates -f;
# Setup JAVA_HOME -- useful for docker commandline
ENV JAVA_HOME /usr/lib/jvm/java-8-openjdk-amd64/
RUN export JAVA_HOME

Run Code Online (Sandbox Code Playgroud)

但是我在构建它时遇到了这个错误:

...
update-alternatives: error: error creating symbolic link '/usr/share/man/man1/rmid.1.gz.dpkg-tmp': No such file or directory
dpkg: error processing package openjdk-8-jre-headless:amd64 (--configure):
 subprocess installed post-installation script returned error exit status 2
dpkg: dependency problems prevent configuration of ca-certificates-java:


dpkg: error processing package openjdk-8-jdk:amd64 (--configure):
 dependency problems - leaving unconfigured
dpkg: dependency problems prevent configuration of openjdk-8-jre:amd64:
 openjdk-8-jre:amd64 depends on openjdk-8-jre-headless (= 8u232-b09-1~deb9u1); however:
  Package openjdk-8-jre-headless:amd64 is not configured yet.

E: Sub-process /usr/bin/dpkg returned an error code (1)
The command '/bin/sh -c apt-get update && apt-get install -y openjdk-8-jdk && apt-get install -y ant && apt-get clean;' returned a non-zero code: 100
Run Code Online (Sandbox Code Playgroud)

任何的想法 ?

谢谢

Lin*_*nPy 9

将此添加到您的dockerfileinsatll 之前:

RUN mkdir -p /usr/share/man/man1/
Run Code Online (Sandbox Code Playgroud)

您也可以删除,RUN export JAVA_HOME因为它在 Dockerfile 中没有影响