Skip to main content

Java Runtime Image

Debian bullseye with Java 17.0.2

FROM debian:bullseye-slim

ENV LANG C.UTF-8
ENV JAVA_HOME /opt/java
ENV PATH /opt/java/bin:$PATH

RUN set -eux; \
\
arch="$(dpkg --print-architecture)"; \
case "$arch" in \
'amd64') \
url='https://mirrors.tuna.tsinghua.edu.cn/AdoptOpenJDK/17/jre/x64/linux/OpenJDK17U-jre_x64_linux_hotspot_17.0.2_8.tar.gz'; \
;; \
'arm64') \
url='https://mirrors.tuna.tsinghua.edu.cn/AdoptOpenJDK/17/jre/aarch64/linux/OpenJDK17U-jre_aarch64_linux_hotspot_17.0.2_8.tar.gz'; \
;; \
*) echo >&2 "error: unsupported architecture: '$arch'"; exit 1 ;; \
esac; \
\
apt-get update; \
apt-get install -y --no-install-recommends ca-certificates p11-kit wget; \
rm -rf /var/lib/apt/lists/*; \
wget --progress=dot:giga -O java.tar.gz "$url"; \
mkdir -p /opt/java; \
tar --extract \
--file java.tar.gz \
--directory /opt/java \
--strip-components 1 \
--no-same-owner \
; \
rm java.tar.gz;
CMD ["bash"]
提示
  • 可在创建/启动容器时指定时区环境变量 -e TZ=Asia/Shanghai 来调整时区。

Debian with Java 17.0.2

FROM --platform=linux/arm64 debian:stable-slim

# 时区
RUN echo "Asia/Shanghai" > /etc/timezone && \
ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime && \
dpkg-reconfigure -f noninteractive tzdata

ENV JAVA_HOME=/opt/java/
ENV PATH=$JAVA_HOME/bin:$PATH
COPY jdk /opt/java/

CMD ["/bin/bash"]