首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >JRE版与jib (码头)

JRE版与jib (码头)
EN

Stack Overflow用户
提问于 2019-05-05 11:53:14
回答 2查看 2.6K关注 0票数 5

我正试图用谷歌的Jib项目Jib Maven插件来构建码头形象。

我不明白如何指定JRE版本。

我知道我可以在插件配置中进行定制,如下所示:

代码语言:javascript
复制
<configuration>
  <from>
    <image>gcr.io/distroless/java</image>
  </from>
</configuration>

但就实际使用的JRE版本而言,这意味着什么呢?如果我想特别说JRE8u172呢?

Jib项目将此声明为一项功能:

可再现的--用相同的内容重建容器映像总是生成相同的映像。

因此,我假设一定有某种方法来锁定JRE版本?

级别:高级Java和Maven,以及所有Docker的新手。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-05-05 13:23:37

8u172的可用性取决于分发服务器是否创建了该版本的构建映像。

不使用带有gcr.io/distroless/java的docker映像标记进行管理。

目前gcr.io/distroless/java:8为8u212,如下所示。

https://console.cloud.google.com/gcr/images/distroless/GLOBAL/java?gcrImageListsize=30

代码语言:javascript
复制
~ $ docker run -it --rm  --entrypoint java  gcr.io/distroless/java:8 -version
openjdk version "1.8.0_212"
OpenJDK Runtime Environment (build 1.8.0_212-8u212-b01-1~deb9u1-b01)
OpenJDK 64-Bit Server VM (build 25.212-b01, mixed mode)
~ $

如果您想指定为java构建版本,我建议使用AdroptOpenJDK。

例如:

代码语言:javascript
复制
<configuration>
  <from>
    <image>adoptopenjdk/openjdk8:jdk8u172-b11</image>
  </from>
</configuration>

如果可以使用8u171,则可以选择openjdk。

代码语言:javascript
复制
<configuration>
  <from>
    <image>openjdk:8u171-jre</image>
  </from>
</configuration>
票数 3
EN

Stack Overflow用户

发布于 2019-05-05 13:19:46

您可能希望使用带有java预装的基本映像。每个停靠者图像都包含标记,它们类似于版本。如果没有像上面那样指定标记,那么就会使用最新的标记,这可能会导致java版本的意外更改。

例如,您可以使用opendjk映像与java版本8u212一起使用openjdk:8u212-jre-stretch。在OpenJDK码头枢纽中,您可以看到所有可用标记的列表

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55991625

复制
相关文章

相似问题

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