当前位置: 首页 > 知识库问答 >
问题:

在docker中更改JAVA_HOME

姬弘文
2023-03-14

我想要dockerise的遗留web应用程序使用一些旧的类,如com/sun/image/codec/jpeg/imageformatexception,这些类在Java SE7之前一直受到支持。现在,在docker容器中,默认的jdk获取(在安装tomcat-6容器时)是

java version "1.7.0_131"
OpenJDK Runtime Environment (IcedTea 2.6.9) (7u131-2.6.9-2~deb8u1)

OpenJdk不支持这些类

java version "1.7.0_80"
Java(TM) SE Runtime Environment (build 1.7.0_80-b15)
Java HotSpot(TM) 64-Bit Server VM (build 24.80-b11, mixed mode)

共有1个答案

仲孙信瑞
2023-03-14

您可以使用docker文件中的env命令简单地设置/更改docker映像的环境变量:

ENV JAVA_HOME /path/to/java
 类似资料:
  • 问题内容: 在泊坞窗中,我想这样做: 但是,因为没有cd命令,所以每次都必须传递完整路径(使XYZ / fullpath)。有什么好的解决方案吗? 问题答案: 您可以运行脚本,也可以运行更复杂的参数。这是我先前下载的Dockerfile中的示例: 由于使用了“ &&”,如果所有先前的命令都成功,它将仅到达最终的“ pip install”命令。 实际上,由于每个RUN都会创建一个新的提交和AUFS

  • 我是开发和的新手,在更改项目中的文件时遇到了一个问题。我的问题是: 我对项目中的任何文件(模板、视图、URL)的内容进行了更改,但在我当前运行的应用程序中,这些文件没有更新。我总是希望看到我的更改,我需要重新启动服务器(我正在使用),执行。是否有我应该安装/做的软件包或更改,以使其能够在运行时接受更改? 这是我的: 让我知道我可能提供的任何其他信息,以便更好地了解问题(如果不够清楚的话)。

  • 我想知道如何改变下面的行为。假设我的终端有28条线路。然后使用以下命令: 正如您所看到的,即使所有的结果都应该是28,但当我调用容器为时,它总是给出24,而不管终端的大小如何。这不仅是在ubuntu容器中,我也尝试了debian(),得到了同样的结果24。 这样做的目的是使用mdp表示工具,该工具考虑到终端中的线路。当我的实现失败时,我尝试了其他人的docker实现,但我遇到了同样的错误。 有没有

  • 问题内容: 我正在通过创建带有一些nodejs指令的来玩docker。现在,每次更改dockerfile时,我都会通过在项目文件夹中运行来重新创建映像,但这每次都会创建一个新映像,并很快吞没我的ssd。 更改dockerfile时,是否有一种方法可以更新现有映像,或者每次更改文件时都被迫创建一个新映像? 抱歉,这是一个愚蠢的问题 问题答案: 只要没有指令,Docker构建支持缓存。如果您正在积极地

  • 我试图使用Docker Compose在远程服务器上部署第二个数据库容器。此postgresql服务器运行在端口5433上,而不是第一个postgresql容器使用的端口5432。 当我设置应用程序时,我得到以下错误输出: 我的docker组合文件是: 我觉得问题一定是服务器实例上的文件将端口设置为5432,导致应用程序试图连接到它时出现错误。是否有一种简单的方法可以使用compose文件中的命令

  • 问题内容: Docker文件夹/ var / lib / docker / aufs / diff增长太多,我想将其移动到另一个分区上。有没有一种方法可以将Docker配置为使用其他位置呢? 问题答案: 有一种简单的方法可以让docker守护进程为您处理此问题。 停止泊坞窗 将此行添加到/ etc / default / docker 启动泊坞窗 验证docker文件和文件夹是否在新目的地中创建