我正在尝试使用 Google 的Jib 项目和Jib Maven Plugin构建 Docker 映像。
我不明白如何指定 JRE 版本。
我知道我可以在插件的 config 中进行自定义,例如:
<configuration>
<from>
<image>gcr.io/distroless/java</image>
</from>
</configuration>
Run Code Online (Sandbox Code Playgroud)
但这对于将使用的实际 JRE 版本意味着什么?如果我想具体说 JRE 8u172 怎么办?
Jib 项目将此声明为一个功能:
可重现- 使用相同内容重建容器映像始终生成相同的映像。
因此我假设必须有某种方法来锁定 JRE 版本?
级别:Java 和 Maven 高级,Docker 新手。
8u172 的可用性取决于发行商是否创建了该版本的构建映像。
java 构建版本不使用带有gcr.io/distroless/java.
目前gcr.io/distroless/java:8,它是 8u212,如下所示。
https://console.cloud.google.com/gcr/images/distroless/GLOBAL/java?gcrImageListsize=30
~ $ 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)
~ $
Run Code Online (Sandbox Code Playgroud)
如果你想指定java构建版本,我建议使用AdroptOpenJDK。
例如
<configuration>
<from>
<image>adoptopenjdk/openjdk8:jdk8u172-b11</image>
</from>
</configuration>
Run Code Online (Sandbox Code Playgroud)
如果可以使用8u171,可以选择openjdk。
<configuration>
<from>
<image>openjdk:8u171-jre</image>
</from>
</configuration>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1699 次 |
| 最近记录: |