簡體   English   中英

在Docker映像內構建Java項目時出現問題(內存問題)

[英]Issue building a java project inside a docker image (Memory issue)

我試圖用帶有dockerfile的gradle包裝器構建一個Java項目。 但是構建有時會失敗,並顯示與內存問題相關的錯誤消息,並且永遠無法完成。 在本地計算機上完成構建時沒有問題。

碼頭工人文件:

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

增加JVM內存限制只是費用的一方面。 您還需要增加Docker的內存限制!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM