gpt4 book ai didi

java - Dockerfile & 安装 -> Package 'openjdk-8-jre-headless' has no installation candidate

转载 作者:行者123 更新时间:2023-12-04 18:26:21 25 4
gpt4 key购买 nike

我正在尝试通过 DockerFile 安装 openjdk-8-jre,因为我为我的 composer 构建了 docker 镜像。但是我遇到了这个错误信息。

错误信息:

Package openjdk-8-jre-headless is not available, but is referred to by another package.
This may mean that the package is missing, has been obsoleted, or
is only available from another source

E: Package 'openjdk-8-jre-headless' has no installation candidate

这是来自 Dockerfile 的部分:

# Install openjdk and java cacerts
RUN apt-get update && apt-get install -y openjdk-8-jre-headless ca-certificates-java

如果我直接从控制台安装 java,使用不带 RUN 的完全相同的命令,包没有问题。但是当我尝试从 Dockerfile 安装它时,我遇到了错误。我知道 Docker 使用与运行 docker 的机器相同的 repo 协议(protocol)? Ubuntu 是 16.04 版。

或者我如何检查 Dockerfile 上的可用安装包? java - v 给出错误..

最佳答案

似乎您正在使用 FROM python:3.8 作为基础,正如@masseyb 在您的问题下的评论中提到的,它没有 openjdk-8jre-headless 包。

这可能对你有帮助。

FROM python:3.7-alpine as base
RUN apk update \
&& apk upgrade \
&& apk add --no-cache bash \
&& apk add --no-cache --virtual=build-dependencies unzip \
&& apk add --no-cache curl \
&& apk add --no-cache openjdk8-jre

RUN apk add --no-cache python3 \
&& python3 -m ensurepip \
&& pip3 install --upgrade pip setuptools \
&& rm -r /usr/lib/python*/ensurepip && \
if [ ! -e /usr/bin/pip ]; then ln -s pip3 /usr/bin/pip ; fi && \
if [[ ! -e /usr/bin/python ]]; then ln -sf /usr/bin/python3 /usr/bin/python; fi && \
rm -r /root/.cache

RUN pip install --trusted-host pypi.python.org flask

这个例子 Dockerfile 可以让你得到 Java python 和 flask

关于java - Dockerfile & 安装 -> Package 'openjdk-8-jre-headless' has no installation candidate,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57593809/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com