我需要在python3-onbuild映像中运行一个java程序(它基于debian )。我用java的安装扩展了dockerfile,但是如果我试图打印出它的版本,
系统错误: exec:"java":在$PATH中找不到可执行文件
我用我的代码创建了一个存储库。
我的Dockerfile:
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"]你知不知道哪里出了问题,我怎么能修好它?
发布于 2015-10-16 22:58:21
我想你误解了ONBUILD。来自文档
ONBUILD指令在映像中添加一个触发器指令,在稍后的时间,当映像被用作另一个构建的基础时执行。触发器将在下游构建的上下文中执行,就好像它是在下游Dockerfile中的FROM指令之后插入的一样。
因此,当docker build在您的Dockerfile中遇到FROM指令时,它将在python映像中的ONBUILD指令上执行。在您的Dockerfile中,ONBUILD指令永远不会执行,因为只有当图像是从另一个Dockerfile引用时才会触发它们。
我认为您只是想使用RUN而不是ONBUILD,但我不知道为什么要使用ONBUILD。
https://stackoverflow.com/questions/33174333
复制相似问题