码头工人:java:openjdk-8-jdk-alpine图像缺少javac和tools.jar

时间:2019-01-06 19:17:55

标签: java docker gradle

我正在使用以下Dockerfile创建一个Docker映像:

FROM java:openjdk-8-jdk-alpine

USER root
RUN apk update && apk add docker

COPY . /liveboard-tests
WORKDIR /liveboard-tests
ENTRYPOINT ["./gradlew", ":integration-tests:test", "--tests", "*Foo*"]

由于某种原因,docker容器不包含javac或tools.jar,并且我无法编译Java代码。我尝试了其他各种基础图像,但它们都有相同的问题。

任何人都可以建议一个防弹的最小Docker文件,该文件将为我提供一个能够使用javac并具有tools.jar的容器。 TIA。

1 个答案:

答案 0 :(得分:2)

由于您使用的是Gradle,因此如果您使用FROM gradle:X.Y.Z-jdk8-branch,将处于更好的位置–将X.Y.Z替换为项目的Gradle版本,将branch替换为alpine,{{ 1}}等;请here查看可用的标签和/或版本。

我再次知道这是题外话,但是在Docker内部使用Docker并不能很好地工作,并且会给您带来一些惊喜。