如何将 Java 放到 Ubuntu docker 容器中?

use*_*263 5 java docker

我目前有一个 docker 容器,其中安装了 Ubuntu(17.10) 映像,其中包含其他软件包。但是,除了当前映像之外,我目前在尝试将 Java 安装到此容器上时遇到了困难。

当前 Dockerfile :

FROM cityofzion/neo-privatenet
ADD files/ files/
ENTRYPOINT [ "/bin/bash" ]
Run Code Online (Sandbox Code Playgroud)

在尝试查找有关如何执行此操作并在容器内进行测试的信息时,最建议使用以下命令: apt-get install -y oracle-java9-installer

然而,这导致:E: Unable to locate package oracle-java9-installer

我也试过这个建议的命令 wget http://download.java.net/java/GA/jdk9/9/binaries/jdk-9+181_linux-x64_bin.tar.gz

产生这个结果 HTTP request sent, awaiting response... 404 Not Found - ERROR 404: Not Found.

我只尝试在容器中运行这些命令,因为这是它们的运行方式,而且它们似乎失败了。

任何人都可以建议我可以在我的 Dockerfile 中包含什么来将 java 安装到我的图像上吗?

提前致谢。

Har*_*hta 5

您也可以直接拉取 ( https://hub.docker.com/_/openjdk/ ) 中提到的任何 open-jdk 图像并使用它。无需在 docker 镜像中安装 Ubuntu,然后在其上安装 Java。这些映像已经使用 Ubuntu(具有最低限度的文件系统)。


Sal*_*oli 3

添加到您的 docker 文件

RUN \
  apt-get update && \
  apt-get install -y software-properties-common && \
  echo oracle-java8-installer shared/accepted-oracle-license-v1-1 select true | debconf-set-selections && \
  add-apt-repository -y ppa:webupd8team/java && \
  apt-get update && \
  apt-get install -y oracle-java9-installer && \
  rm -rf /var/lib/apt/lists/* && \
  rm -rf /var/cache/oracle-jdk8-installer

  ENV JAVA_HOME /usr/lib/jvm/java-9-oracle
Run Code Online (Sandbox Code Playgroud)