如何在docker上安装java到ubuntu?

use*_*472 4 java linux ubuntu docker

我试过用docker.我安装工具docker并运行.我dovnload ubuntu图像并在docker上运行.我通过这个链接做所有

对于我使用的安装ubuntu docker run -it ubuntu bash

之后我运行这个ubuntu docker run -i -t ubuntu:latest /bin/bash

开始后我放了 root@9bca9a2a537d:/#

现在我想安装java并在这个java上启动一些应用程序.

我试过安装java root@cf50a6fdfc10:/# apt-get install default-jre

当这个安装我尝试运行此命令java -version,我明白了

root@2e62f448f783:/# java -version
openjdk version "1.8.0_91"
OpenJDK Runtime Environment (build 1.8.0_91-8u91-b14-0ubuntu4~16.04.1-b14)
OpenJDK 64-Bit Server VM (build 25.91-b14, mixed mode)
Run Code Online (Sandbox Code Playgroud)

之后我从ubuntu退出

root@2e62f448f783:/# exit
Run Code Online (Sandbox Code Playgroud)

并再次运行.当ubuntu开始我尝试

root@20cefe55e2eb:/# java -version
bash: java: command not found
Run Code Online (Sandbox Code Playgroud)

我该如何安装java或启动这个java版本?

Gau*_*ier 7

正如paulscott56所说,您可以在Dockerfile中添加这些行:

RUN apt-get update && \
    DEBIAN_FRONTEND=noninteractive \
    apt-get -y install default-jre-headless && \
    apt-get clean && \
    rm -rf /var/lib/apt/lists/*
Run Code Online (Sandbox Code Playgroud)

https://hub.docker.com/r/pataquets/default-jre-headless/~/dockerfile/


Ram*_*ler 0

安装 Ubuntu 后,您必须提交更新的镜像。在运行的容器上安装 java 后尝试以下操作:

docker ps -l #get current container ID , let's sat it is "container_id"
Run Code Online (Sandbox Code Playgroud)

然后 :

docker commit container_id ubuntu_with_java
Run Code Online (Sandbox Code Playgroud)

它将创建一个名为“ubuntu_with_java”的新图像。

  • [*“通常,最好使用 Dockerfiles 以文档化且可维护的方式管理图像。*](https://docs.docker.com/engine/reference/commandline/commit/) (2认同)