首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Java in python3 3-建码头

Java in python3 3-建码头
EN

Stack Overflow用户
提问于 2015-10-16 15:35:11
回答 1查看 1.1K关注 0票数 0

我需要在python3-onbuild映像中运行一个java程序(它基于debian )。我用java的安装扩展了dockerfile,但是如果我试图打印出它的版本,

系统错误: exec:"java":在$PATH中找不到可执行文件

我用我的代码创建了一个存储库

我的Dockerfile:

代码语言:javascript
复制
FROM python:3-onbuild
ONBUILD RUN ["apt-get", "install", "-y", "openjdk-7-jre"]

# Define commonly used JAVA_HOME variable
ONBUILD ENV JAVA_HOME /usr/java/default
ONBUILD ENV PATH $PATH:$JAVA_HOME/bin

CMD ["java", "-version"]

你知不知道哪里出了问题,我怎么能修好它?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-10-16 22:58:21

我想你误解了ONBUILD。来自文档

ONBUILD指令在映像中添加一个触发器指令,在稍后的时间,当映像被用作另一个构建的基础时执行。触发器将在下游构建的上下文中执行,就好像它是在下游Dockerfile中的FROM指令之后插入的一样。

因此,当docker build在您的Dockerfile中遇到FROM指令时,它将在python映像中的ONBUILD指令上执行。在您的Dockerfile中,ONBUILD指令永远不会执行,因为只有当图像是从另一个Dockerfile引用时才会触发它们。

我认为您只是想使用RUN而不是ONBUILD,但我不知道为什么要使用ONBUILD

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33174333

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档