【问题标题】:How to install java 8 using dockerfile in python:3.8-slim-buster base image如何在 python:3.8-slim-buster 基础映像中使用 dockerfile 安装 java 8
【发布时间】:2022-02-27 21:15:07
【问题描述】:

下面是我的 Dockerfile

FROM python:3.8-slim-buster
WORKDIR /app
RUN python --version
RUN apt-get install java-1.8.0-openjdk-devel
RUN python -m pip install --upgrade pip
RUN pip install --default-timeout=100 pyspark

我想安装 java 8 并设置 JAVA_HOME 变量。但是当我尝试构建上面的图像时,我遇到了以下错误:

E: Unable to locate package java-1.8.0-openjdk-devel
E: Couldn't find any package by glob 'java-1.8.0-openjdk-devel'
E: Couldn't find any package by regex 'java-1.8.0-openjdk-devel'

这是我第一次尝试创建 docker 镜像。请建议上面的 Dockerfile 有什么问题。我正在开发centos7。

【问题讨论】:

  • 在尝试安装软件包之前尝试更新软件包列表,即apt-get update && apt-get install -y ...
  • 为什么在同一个镜像中需要两种不同的语言运行时?您可以构建第二个映像FROM openjdk:8 并在第二个容器中运行 Java 组件吗?
  • @DavidMaze 我的应用程序使用 pyspark,它需要 java 和 python。
  • @user0204 你的问题解决了吗?你能说出什么对你有用吗?

标签: java python docker centos dockerfile


【解决方案1】:

另一种方法是,您可以基于FROM ubuntu:20.04 构建您的 Dockerfile,其中 Python 3.8 设置为默认值 (here)。然后,稍后安装javapip

来自 ubuntu:20.04

ENV JAVA_HOME /usr/lib/jvm/java-8-openjdk-amd64/

运行 apt-get update -y \
&& apt-get install -y software-properties-common \
&& add-apt-repository ppa:deadsnakes/ppa \
&& apt-get install openjdk-8-jdk -y \
&& apt-get install python3-pip -y \
&& 导出 JAVA_HOME \
&& apt-get clean \
&& rm -rf /var/lib/apt/lists/*

【讨论】:

  • 希望这会有所帮助!
  • 这对你有用吗@user0204
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-09-29
  • 1970-01-01
  • 2020-08-20
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多