【问题标题】:How to add Java 11 on Dockerfile?如何在 Dockerfile 上添加 Java 11?
【发布时间】:2021-04-03 21:19:35
【问题描述】:

我正在尝试制作一个必须“加载”Java11 的 Dockerfile。

但是,当我尝试时:

RUN add-apt-repository -y ppa:linuxuprising/java 

然后我得到这个错误:

/bin/sh: 1: add-apt-repository: 未找到 命令 '/bin/sh -c add-apt-repository -y ppa:linuxupprising/java' 返回一个非零代码:127

我的问题是如何在 Docker 上“安装”Java11?

【问题讨论】:

  • 您可以通过在您的机器终端上键入命令 :docker pull openjdk:tag 来使用来自 hub.docker.com 的 Java 11 映像,其中该标签是您想要的 Java 版本的版本。或者你可以简单地在你的 Dockerfile 中指定镜像,其中 FROM 属性必须是 java 的版本。
  • @dipoisola 我曾经做过同样的事情,但是对于 Java11 它不起作用..

标签: java docker


【解决方案1】:

假设您的图像不可能基于OpenJDK official image

官方镜像Dockerfile(或repository)中看看它是如何安装的。

还有替代图像,例如AdoptOpenJDKDockerfile 基于 Ubuntu)

【讨论】:

  • 您好,贡萨洛,感谢您的帮助。但是,我无法将我的形象建立在官方的基础上。。我会按照你所说的去做。
  • 我真的更喜欢在我的 Dockerfile 中包含“FROM Ubuntu”。你认为有办法做到这一点吗?很抱歉给您带来不便,但我对这项技术真的很陌生!再次感谢!
  • 有基于 Ubuntu 的 AdoptOpenJDK 镜像 -> github.com/AdoptOpenJDK/openjdk-docker/blob/master/11/jdk/…
  • 死链接 12345
  • 您的第二个链接已过时,该 Dockerfile 是否仍然在某处公开可用?我需要在ubuntu基础上安装,所以不能使用官方基础镜像
【解决方案2】:

对于您的 docker 映像中的 CentOS,您仍然可以使用:

FROM centos
RUN yum install -y java-11

【讨论】:

    【解决方案3】:

    您收到的具体错误是因为未安装 software-properties-common

    所以请确保在add-apt-repository -y ppa:linuxuprising/java 之前执行以下操作:

    RUN apt-get update \
        && apt-get install -y software-properties-common
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-04-02
      • 1970-01-01
      • 2018-09-12
      • 2017-02-12
      • 2023-01-13
      • 2019-02-08
      • 2019-12-19
      相关资源
      最近更新 更多