我正在使用以下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。
答案 0 :(得分:2)
由于您使用的是Gradle,因此如果您使用FROM gradle:X.Y.Z-jdk8-branch
,将处于更好的位置–将X.Y.Z
替换为项目的Gradle版本,将branch
替换为alpine
,{{ 1}}等;请here查看可用的标签和/或版本。
我再次知道这是题外话,但是在Docker内部使用Docker并不能很好地工作,并且会给您带来一些惊喜。