我需要在python3-onbuild镜像中运行一个Java程序(它基于debian jessie)

我通过安装Java扩展了dockerfile,但是如果我尝试打印出版本,则会导致



我用我的代码创建了一个repository

我的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"]

知道发生了什么问题以及如何解决吗?

最佳答案

我认为您误解了ONBUILD。从docs:



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

我认为您只是想使用RUN而不是ONBUILD,但是我不确定为什么您要尝试使用ONBUILD

关于docker - python3-onbuild docker中的Java,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/33174333/

10-16 16:23