在Docker映像内构建Java项目时出现问题(内存问题)

时间:2019-06-25 08:26:55

标签: java docker gradle

我试图用带有dockerfile的gradle包装器构建一个Java项目。但是构建有时会失败,并显示与内存问题相关的错误消息,并且永远无法完成。在本地计算机上完成构建时没有问题。

docker文件:

FROM adoptopenjdk/openjdk11 as builder
COPY ./ ./
RUN ./gradlew build

循环中的错误消息:

08:16:17.039 [DEBUG]  [org.gradle.process.internal.health.memory.MemoryManager] Emitting OS memory status event {Total: 33576538112, Free: 16748404736}
08:16:17.039 [DEBUG] [org.gradle.launcher.daemon.server.health.LowMemoryDaemonExpirationStrategy] Received memory status update: {Total: 33576538112, Free: 16748404736}
08:16:17.040 [DEBUG] [org.gradle.process.internal.health.memory.MemoryManager] Emitting JVM memory status event {Maximum: 2147483648, Committed: 526385152}
08:16:17.310 [DEBUG] [org.gradle.launcher.daemon.server.Daemon] DaemonExpirationPeriodicCheck running
08:16:17.311 [DEBUG] [org.gradle.cache.internal.DefaultFileLockManager] Waiting to acquire shared lock on daemon addresses registry.
08:16:17.311 [DEBUG] [org.gradle.cache.internal.DefaultFileLockManager] Lock acquired on daemon addresses registry.
08:16:17.311 [DEBUG] [org.gradle.cache.internal.DefaultFileLockManager] Releasing lock on daemon addresses registry.

该项目使用2个gradle插件spring boot和org.openapi.generator。

我尝试添加具有以下内容的文件“ gradle.properties”:

org.gradle.jvmargs=-Xmx2g -XX:MaxMetaspaceSize=512m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8

1 个答案:

答案 0 :(得分:2)

增加JVM内存限制只是法案的一方面。您还需要增加Docker的内存限制!

相关问题