快速参考
-
维护者:
AWS JDK 团队 -
获取帮助的途径:
Docker 社区 Slack、Server Fault、Unix & Linux 或 Stack Overflow
支持的标签和相应的 Dockerfile 链接
-
8-al2023,8u422-al2023,8-al2023-jdk,8-al2023-jre,8u422-al2023-jre -
8-alpine3.17,8u422-alpine3.17,8-alpine3.17-full,8-alpine3.17-jdk -
8-alpine3.18,8u422-alpine3.18,8-alpine3.18-full,8-alpine3.18-jdk -
8-alpine3.19,8u422-alpine3.19,8-alpine3.19-full,8-alpine3.19-jdk -
8-alpine3.20-jre,8u422-alpine3.20-jre,8-alpine-jre,8u422-alpine-jre -
11-alpine3.17,11.0.24-alpine3.17,11-alpine3.17-full,11-alpine3.17-jdk -
11-alpine3.18,11.0.24-alpine3.18,11-alpine3.18-full,11-alpine3.18-jdk -
11-alpine3.19,11.0.24-alpine3.19,11-alpine3.19-full,11-alpine3.19-jdk -
17-alpine3.17,17.0.12-alpine3.17,17-alpine3.17-full,17-alpine3.17-jdk -
17-alpine3.18,17.0.12-alpine3.18,17-alpine3.18-full,17-alpine3.18-jdk -
17-alpine3.19,17.0.12-alpine3.19,17-alpine3.19-full,17-alpine3.19-jdk -
21-alpine3.17,21.0.4-alpine3.17,21-alpine3.17-full,21-alpine3.17-jdk -
21-alpine3.18,21.0.4-alpine3.18,21-alpine3.18-full,21-alpine3.18-jdk -
21-alpine3.19,21.0.4-alpine3.19,21-alpine3.19-full,21-alpine3.19-jdk -
22-alpine3.17,22.0.2-alpine3.17,22-alpine3.17-full,22-alpine3.17-jdk -
22-alpine3.18,22.0.2-alpine3.18,22-alpine3.18-full,22-alpine3.18-jdk -
22-alpine3.19,22.0.2-alpine3.19,22-alpine3.19-full,22-alpine3.19-jdk -
23-alpine3.17,23.0.0-alpine3.17,23-alpine3.17-full,23-alpine3.17-jdk -
23-alpine3.18,23.0.0-alpine3.18,23-alpine3.18-full,23-alpine3.18-jdk -
23-alpine3.19,23.0.0-alpine3.19,23-alpine3.19-full,23-alpine3.19-jdk
快速参考(续)
-
已发布的映像工件详细信息:
repo-info repo 的repos/amazoncorretto/目录(历史记录)
(图像元数据、传输大小等) -
图像更新:
官方镜像仓库的library/amazoncorretto标签
官方镜像仓库的library/amazoncorretto文件(历史记录) -
来源:此描述的来源:
docs 存储库的amazoncorretto/目录(历史记录)
亚马逊 Corretto 是什么?
Corretto 是亚马逊提供长期支持的 Open Java Development Kit (OpenJDK) 的二进制发行版。Corretto 通过 Java 技术兼容性工具包 (TCK) 认证,以确保其符合 Java SE 标准,并在 Linux、Windows 和 macOS 上可用。它包括亚马逊在运行我们自己的服务时证明有用的补丁。

为什么我应该使用 Corretto?
Corretto 是 OpenJDK 的可靠二进制分发版,可免费为您提供长期支持。亚马逊在数千个生产服务中内部运行 Corretto。我们对 Corretto 所做的每一项修改都修复或缓解了我们在运行 OpenJDK 时发现的问题。亚马逊还计划在常规季度周期之外,在紧急修复(包括安全修复)可用并准备好使用时应用它们。
Corretto 与 OpenJDK 有何不同?
Corretto 是一种 Open JDK 发行版,其中包含亚马逊提供的补丁,这些补丁尚未集成到相应的 OpenJDK 更新项目中。我们专注于改进 OpenJDK 性能或稳定性的补丁,这些补丁是根据亚马逊在运行大型服务时的观察结果选择的。
亚马逊打算在 Corretto 中包含哪些类型的补丁?
补丁将包括安全修复、性能增强(例如,加速常用功能)、垃圾收集调度和防止内存不足情况,以及改进的监控、报告和线程管理。
使用 Corretto 是否有任何相关成本?
Corretto 由亚马逊根据开源许可证免费分发。它根据 GNU 公共许可证第 2 版和类路径异常(GPLv2 with CPE)的条款获得许可。亚马逊不收取其使用或分发费用。
Corretto 的长期支持包括什么?
亚马逊将为 Corretto 8 提供安全更新,至少到 2023 年 6 月。计划每季度发布一次更新。与 OpenJDK 11 相对应的 Corretto 11 将在 2019 年上半年推出。亚马逊将为 Corretto 11 提供季度更新支持,至少到 2024 年 8 月。
我可以将 Corretto 用作其他 JDK 的直接替代品吗?
除非您使用的是 OpenJDK 中不可用的功能(例如 Java Flight Recorder),否则 Corretto 被设计为所有 Java SE 发行版的直接替代品。一旦在主机上安装了 Corretto 二进制文件并正确调用以运行您的 Java 应用程序(例如,在 Linux 上使用 alternatives 命令),现有的命令行选项、调优参数、监控和其他任何设置都将继续像以前一样工作。
为什么安全扫描器显示 Docker 镜像存在 CVE?
如果安全扫描程序报告 amazoncorretto 映像包含 CVE,则首先建议的操作是拉取此映像的更新版本。
如果没有可用的更新图像,请运行适当的命令来更新平台的软件包,即在 Dockerfile 或系统中运行“apk -U upgrade”(适用于 Alpine)或“yum update -y --security”(适用于 AmazonLinux)以立即解决问题。
如果没有可用的更新包,请将此视为潜在的安全问题,并按照这些说明操作或直接发送电子邮件至 aws-security@amazon.com 联系 AWS 安全团队。
基础 Docker 映像供应商有责任及时为映像和软件包提供安全更新。当有新的基础映像可用时,amazoncorretto 映像会自动重建,但我们不会更改 Dockerfiles 以拉入一次性软件包更新。如果基础 Docker 映像维护者尚未普遍提供新的基础映像,请联系该维护者请求解决该问题。
请注意,正如 Docker 库常见问题解答中所解释的那样,CVE 可能出现在 Docker 映像中的原因有多种。
图像变体
amazoncorretto 图像有多种类型,每种都针对特定的用例进行了设计。
amazoncorretto:<version>
这是默认的镜像。如果您不确定自己的需求是什么,您可能想要使用这个。它被设计为既可以用作一次性容器(挂载您的源代码并启动容器以启动您的应用程序),也可以用作构建其他镜像的基础。
amazoncorretto:<version>-alpine
该镜像基于流行的 Alpine Linux 项目,可在 alpine 官方镜像中使用。Alpine Linux 比大多数发行版基础镜像(约 5MB)小得多,因此通常会生成更精简的镜像。
当您主要关注最终图像大小尽可能小时,此变体很有用。需要注意的主要警告是,它确实使用 musl libc 而不是 glibc 等,因此软件通常会根据其 libc 要求/假设的深度遇到问题。有关可能出现的问题以及使用基于 Alpine 的映像的一些优缺点比较的更多讨论,请参阅此 Hacker News 评论线程。
为了最小化镜像大小,在基于 Alpine 的镜像中包含额外的相关工具(如 git 或 bash )是不常见的。使用此镜像作为基础,在您自己的 Dockerfile 中添加您需要的东西(如果您不熟悉如何安装软件包,请参阅 alpine 镜像描述中的示例)。
许可证
亚马逊 Corretto 是根据与 OpenJDK 相同的开源许可证发布的,该许可证根据带有类路径异常的 GNU 公共许可证第 2 版(GPLv2 with CPE)获得许可。
与所有 Docker 镜像一样,这些镜像可能还包含其他软件,这些软件可能受其他许可证的约束(例如来自基础发行版的 Bash 等,以及所包含的主要软件的任何直接或间接依赖项)。
一些能够自动检测到的额外许可证信息可能会在 repo-info 存储库的 amazoncorretto/ 目录中找到。
对于任何预构建的映像使用,映像用户有责任确保对此映像的任何使用都符合其中包含的所有软件的任何相关许可证。