首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >覆盖Micronaut Gradle Dockerfile中的入口点配置

覆盖Micronaut Gradle Dockerfile中的入口点配置
EN

Stack Overflow用户
提问于 2022-01-04 14:05:15
回答 1查看 422关注 0票数 1

我正在以Docker容器的身份运行Micronaut应用程序。

在Kuberentes的运行时,将有一个具有一定值的JAVA_OPTS环境变量,例如:-XX:MaxRAMPercentage=45.0

在执行./gradlew dockerBuild时,我可以看到以下Docker层:

Step 7/7 : ENTRYPOINT ["java", "-jar", "/home/app/application.jar"]

文档之后,我尝试添加对JAVA_OPTS的引用:

build.gradle.kts

代码语言:javascript
复制
    dockerfile {
        args("\$JAVA_OPTS")
    }

Docker构建日志:

代码语言:javascript
复制
Step 7/7 : ENTRYPOINT ["java", "$JAVA_OPTS", "-jar", "/home/app/application.jar"]

这方面的问题是容器不会启动,因为$JAVA_OPTS不会被env变量值替换。这是因为它使用入口点的exec格式

是否有一种方法可以覆盖或调优入口点,以便对env进行评估?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-01-04 15:06:31

链接到您的文档中之后,您似乎可以执行如下操作,根据在命令中解释env的要求,重写入口点:

代码语言:javascript
复制
entryPoint('sh', '-c', 'java $JAVA_OPTS -jar /home/app/application.jar')

它应该在生成的Dockerfile中转换为以下内容:

代码语言:javascript
复制
ENTRYPOINT ["sh", "-c", "java $JAVA_OPTS -jar /home/app/application.jar"]
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70579994

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档