如何使用docker文件构建corretto 17 alpine linux镜像



我是Docker新手,我需要帮助来构建Corretto 17 Alpine Linux映像。我有一个现有的Dockerfile,它构建Java 8 Alpine Linux映像如下。

FROM alpine:3.17
# install software
RUN apk add --no-cache 
bash 
openjdk8-jre

我如何添加Corretto 17命令到这个Dockerfile上运行我的Corretto 17应用程序?

我找到了一个在Alpine Linux上安装Amazon Corretto 17的aws文档

下面是安装corretto 17需要插入到docker文件中的命令。

FROM alpine:3.17
RUN apk add --no-cache &&
wget -O /etc/apk/keys/amazoncorretto.rsa.pub https://apk.corretto.aws/amazoncorretto.rsa.pub && 
echo "https://apk.corretto.aws" >> /etc/apk/repositories && 
apk update &&
apk add amazon-corretto-17

一种方法,基于我在这个回答中的评论:

使用以下命令来使用官方的Corretto Java映像之一—在本例中,使用Alpine:

docker pull amazoncorretto:17-alpine-jdk

docker run -it amazoncorretto:17-alpine-jdk /bin/sh

或者,如果你想要一个Dockerfile:

FROM amazoncorretto:17-alpine-jdk
CMD ["/usr/bin/java", "--version"]

如果我用下面的代码创建图像…

docker build -t whateveryouwant .

…然后我可以运行它:

docker run whateveryouwant 

run输出为:

openjdk 17.0.6 2023-01-17 LTS
OpenJDK Runtime Environment Corretto-17.0.6.10.1 (build 17.0.6+10-LTS)
OpenJDK 64-Bit Server VM Corretto-17.0.6.10.1 (build 17.0.6+10-LTS, mixed mode, sharing)

这显然没有做任何有用的事情,除了显示Java的细节。

您不需要自己构建这些映像(也不应该!),因为Amazon在Docker Hub中提供了几个预构建的映像。

对于Java 8,您可以在JDK (amazoncorretto:8-alpine-jdk)和JRE (amazoncorretto:8-alpine-jre)之间进行选择,对于Java 17, Amazon只提供JDK (amazoncorretto:17-alpine-jdk),但是您可以在https://hub.docker.com/r/pnavato/amazoncorretto-jre上找到预构建的JRE。在同一个页面中,你可以找到你所要求的Dockerfile,如果你真的想自己构建镜像。

最新更新