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

Docker容器中的JAVA_HOME

秦景福
2023-03-14
FROM openjdk:9

ENV JAVA_HOME  /usr/lib/jvm
RUN export JAVA_HOME

RUN echo $JAVA_HOME

FROM collinestes/docker-node-oracle:latest

# Create app directory
WORKDIR /usr/src/app

COPY package*.json ./

RUN npm install

COPY . .
RUN npm run build

RUN npm run package

# Bundle app source
COPY . ./build

CMD [ "node", "bundle-app.js" ]

我认为这是因为容器没有JAVA_HOME变量集。我执行了Docker exec-i-t容器bash和尝试命令echo$java_home,但它没有显示java可执行文件。此外,java和javac命令不起作用。

有人知道我做错了什么吗?如有任何帮助,不胜感激。提前感谢!

共有1个答案

漆雕疏珂
2023-03-14

按照多阶段建造:

对于多阶段构建,可以在DockerFile中使用多个from语句。每个from指令可以使用不同的基,每个基都开始构建的新阶段。您可以有选择地将工件从一个阶段复制到另一个阶段,在最终图像中留下您不想要的所有东西。

注意:您甚至没有将第一阶段的任何工件用于最终容器,因此您甚至可以从阶段丢弃第一个...

 类似资料:
  • 我不是docker的专家,也许我缺少一些基本配置。有什么想法为什么我不能使用POI?提前道谢。

  • 1、启动容器 启动容器有两种方式,一种是基于镜像新建一个容器并启动,另外一个是将在终止状态(stopped)的容器重新启动。 因为 Docker 的容器实在太轻量级了,很多时候用户都是随时删除和新创建容器。 1.1 新建并启动 所需要的命令主要为 docker run。 例如,下面的命令输出一个 “Hello World”,之后终止容器。 $ sudo docker run ubuntu:14.0

  • 我使用docker撰写启动一个mysql da和一个springstart应用程序。 这是我的docker-compose.yml 这是我的application.properties 在这里,我创建了jdbi: 不管我怎么做,我都无法让集装箱在码头内相互交谈。如果我单独启动sql,我可以在主机中看到连接(在datagrip中)。如果我从容器中运行java程序,它会看到主机中的数据库。即使我运行d

  • 我正在寻找一种从docker容器内部使用GPU的方法。

  • 我正在使用Spring Cloud创建微服务架构。 我正在使用Spring Cloud中的以下功能 Zuul–API网关服务,提供动态路由、监控、弹性、安全等功能- 功能区–客户端负载平衡器 Faign–声明性REST客户端 Eureka–服务注册和发现 Sleuth–通过日志进行分布式跟踪 Zipkin–具有请求可视化的分布式跟踪系统 Hystrix-适用于所有API的断路器、容错、Hystri

  • 我在Docker容器中安装了Oracle数据库,但不知道如何成为root用户。如果我从主人那里听到这个 或者 我得到 如果我做了 从主机,然后 从容器中,它询问root密码,但我不知道。 Hy主机操作系统是Ubuntu 18.04,链接到docker文件 编辑1: 发现了一个Docker错误。