当前位置: 首页 > 面试题库 >

使用Docker安装Java 8的最佳方法?

郭修平
2023-03-14
问题内容

我有一个以以下行开头的dockerfile

FROM java:8

我认为这应该是从docker容器注册表中提取图像并进行安装。没有?

当我在容器中运行java命令时,出现以下错误

ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.

使用Docker安装Java 8(openjdk版本)的最简单,最佳方法是什么?

更新:

RUN apt-get install -y --no-install-recommends software-properties-common
RUN add-apt-repository -y ppa:openjdk-r/ppa
RUN apt-get update
RUN apt-get install -y openjdk-8-jdk
RUN apt-get install -y openjdk-8-jre
RUN update-alternatives --config java
RUN update-alternatives --config javac

问题答案:

也许您缺少了一些东西。 8标签8-jdk工作正常:

$ docker run -ti java:8-jdk
root@ea4ae4cf642e:/# echo $JAVA_HOME
/usr/lib/jvm/java-8-openjdk-amd64

您还可以通过查看Dockerfile并确认它确实定义来进行验证JAVA_HOME。例如,参见java:8
Dockerfile

同样,最简单形式的Dockerfile当然也会得出相同的结果。即:

FROM java:8-jdk
CMD ["/bin/bash"]

并以以下方式构建:

$ docker build -t myjava .

然后,执行它:

$ docker run -ti myjava:latest bash
root@3c35f7d2d94a:/# echo $JAVA_HOME
/usr/lib/jvm/java-8-openjdk-amd64


 类似资料:
  • 刚开始学docker,有一点实在搞不懂,就是它的tag,也就是镜像的版本要怎么选?它的命名规则也太乱了,而且非常的不规律,实在看不懂啊。就比如我想安装Java8最新版,应该用哪个tag? 补充:Java8最新版是8u421,但是好像搜不到?那应该怎么办? https://hub.docker.com/_/openjdk

  • 本文向大家介绍使用Docker 安装 Jenkins的方法,包括了使用Docker 安装 Jenkins的方法的使用技巧和注意事项,需要的朋友参考一下 一、拉取镜像 我这里安装的版本是2.222.3-centos,可以去这里获取你需要的版本: https://hub.docker.com/_/jenkins?tab=tags 二、创建本地数据卷 我这里映射本地数据卷的路径为/data/jenkin

  • 本文向大家介绍安装docker-compose的两种最简方法,包括了安装docker-compose的两种最简方法的使用技巧和注意事项,需要的朋友参考一下 这里简单介绍下两种安装docker-compose的方式,第一种方式相对简单,但是由于网络问题,常常安装不上,并且经常会断开,第二种方式略微麻烦,但是安装过程比较稳定 方法一: 查看版本信息 但是此方法会经常因为网络的原因而无法安装 方法二:

  • Gitea 在其 Docker Hub 组织内提供自动更新的 Docker 镜像。可以始终使用最新的稳定标签或使用其他服务来更新 Docker 镜像。 该参考设置指导用户完成基于 docker-compose 的设置,但是 docker-compose 的安装不在本文档的范围之内。要安装 docker-compose 本身,请遵循官方安装说明。 基本 最简单的设置只是创建一个卷和一个网络,然后将

  • 问题内容: 我必须在 同一台 服务器上(客户端要求)设置“ dockerized”环境(集成,质量保证和生产)。每种环境的组成如下: Rabbitmq 芹菜 花 基于python 3的应用程序,称为“ A”(每个环境的特定分支) 在它们之上,jenkins将处理基于CI的部署。 在每个环境中使用一组容器听起来是最好的方法。 但是现在我需要流程经理来运行和监督所有这些: 3个兔子容器, 3个芹菜/花

  • 本文向大家介绍在Linux上安装和使用Docker的方法,包括了在Linux上安装和使用Docker的方法的使用技巧和注意事项,需要的朋友参考一下 容器现在风靡于 IT 界 —— 这很好理解。容器是轻量级的,包含应用运行所需所有东西(代码、库、运行时环境、系统设置,以及依赖关系)的独立的包。每个容器都部署于它自己的 CPU、内存、块 I/O,以及网络资源上,所有这些都不依赖于某个内核和操作系统。这