我是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,如果你真的想自己构建镜像。