diff --git a/openjdk/23+13/22.03-lts-sp3/Dockerfile b/openjdk/23+13/22.03-lts-sp3/Dockerfile new file mode 100644 index 0000000000000000000000000000000000000000..ef7dd62547b9c6609ebd63c9a2ce3466b24d6d86 --- /dev/null +++ b/openjdk/23+13/22.03-lts-sp3/Dockerfile @@ -0,0 +1,21 @@ +ARG BASE=openeuler/openeuler:22.03-lts-sp3 +FROM ${BASE} + +ARG TARGETARCH +ARG BUILDARCH +ARG VERSION=23+13 + +RUN if [ "$TARGETARCH" = "amd64" ]; then \ + BUILDARCH="x64"; \ + elif [ "$TARGETARCH" = "arm64" ]; then \ + BUILDARCH="aarch64"; \ + fi && \ + curl -fSL --output openjdk.tar.gz https://download.java.net/java/early_access/jdk${VERSION%%+*}/${VERSION#*+}/GPL/openjdk-${VERSION%%+*}-ea+${VERSION#*+}_linux-${BUILDARCH}_bin.tar.gz && \ + mkdir -p /usr/local/java/ && tar -xvf openjdk.tar.gz -C /usr/local/java --strip-components=1 && \ + rm -f openjdk.tar.gz + +ENV JAVA_HOME=/usr/local/java/ +ENV PATH=$JAVA_HOME/bin:$PATH +ENV CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar + +CMD ["bash"] diff --git a/openjdk/README.md b/openjdk/README.md new file mode 100644 index 0000000000000000000000000000000000000000..bf7c11909e5320d69cfc0655f540273d416d639d --- /dev/null +++ b/openjdk/README.md @@ -0,0 +1,30 @@ +# OpenJdk + +# Quick reference + +- The official openjdk docker image. + +- Maintained by: [openEuler CloudNative SIG](https://gitee.com/openeuler/cloudnative) + +- Where to get help: [openEuler CloudNative SIG](https://gitee.com/openeuler/cloudnative), [openEuler](https://gitee.com/openeuler/community) + +# Build reference + +1. Build images and push: +```shell +docker buildx build -t "openeuler/openjdk:$TAG" --platform linux/amd64,linux/arm64 . --push +``` + +We are using `buildx` in here to generate multi-arch images, see more in [Docker Buildx](https://docs.docker.com/buildx/working-with-buildx/) + +2. Run: +```shell +docker run -it --name openjdk openeuler/openjdk:{TAG} +``` + +# Supported tags and respective Dockerfile links + +- 23+13-oe2203sp3: openjdk v23+13, openEuler 22.03 LTS SP3 + +## Operating System +Linux/Unix, ARM64 or x86-64 architecture. diff --git a/openjdk/doc/image-info.yml b/openjdk/doc/image-info.yml new file mode 100644 index 0000000000000000000000000000000000000000..47128c6213bd4d2c7bf17c519294b171c0dbd4c9 --- /dev/null +++ b/openjdk/doc/image-info.yml @@ -0,0 +1,92 @@ +name: openjdk +category: others +description: OpenJDK(Open Java Development Kit)是一个自由开放源代码的Java开发工具包,提供了Java编译器(javac)、Java虚拟机(JVM)以及其他一些与Java开发相关的工具和库。 +environment: | + 本应用以容器镜像的方式供用户使用,运行于预置docker的Linux环境。Docker的推荐安装方式如下: + ## apt安装 + ### 1.更新系统软件包依赖 + ``` + sudo spt update + sudo apt install ca-certificates curl gnupg lsb-release + ``` + ### 2.添加Docker官方GPG密钥 + ``` + sudo mkdir -p /etc/apt/keyrings + curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg + sudo chmod a+r /etc/apt/keyrings/docker.gpg + ``` + ### 3.添加Docker官方APT源 + ``` + echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null + ``` + ### 4.再次更新软件包索引 + ``` + sudo apt update + ``` + ### 5.安装Docker + ``` + sudo apt install docker-ce docker-ce-cli containerd.io + ``` + + ## yum安装 + ### 1.安装yum-utils + ``` + sudo yum install -y yum-utils + ``` + ### 2.添加Docker源 + ``` + sudo yum-config-manager \ + > --add-repo \ + > https://download.docker.com/linux/centos/docker-ce.repo + ``` + ### 3.安装Docker + ``` + sudo yum install -y docker-ce docker-ce-cli containerd.io + ``` + + 注意,在openEuler环境安装docker时,可执行如下命令一键安装 + ``` + yum install -y docker + ``` + + ## 脚本安装 + ### 1.下载安装脚本 + ``` + curl -fsSL https://get.docker.com -o get-docker.sh + ``` + ### 2.使用root权限执行脚本 + ``` + sudo sh get-docker.sh + ``` + 使用脚本安装方式时,如果用户要指定安装的docker版本,需要自行修改`get-docker.sh`的源码内容。 + + ## 验证 + ``` + sudo docker run hello-world + ``` + +download: | + 获取容器镜像 + ``` + docker pull openeuler/openjdk:{TAG} + ``` + +install: | + 启动容器 + ``` + docker run -it --name openjdk openeuler/openjdk:{TAG} + ``` + 用户可根据自身需求,自定义启动选项。 + +license: GPL-2.0 license +similar_packages: + - N/A +dependency: + - alsa-lib-devel + - cups-devel + - fontconfig-devel + - libXtst-devel + - libXt-devel + - libXrender-devel + - libXrandr-devel + - libXi-devel \ No newline at end of file diff --git a/openjdk/doc/picture/logo.png b/openjdk/doc/picture/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..d14954d1c575f828780359579e2f782e7715cc78 Binary files /dev/null and b/openjdk/doc/picture/logo.png differ diff --git a/openjdk/meta.yml b/openjdk/meta.yml new file mode 100644 index 0000000000000000000000000000000000000000..3828a1b30d148df8f5d863587e43f27b5c9e93be --- /dev/null +++ b/openjdk/meta.yml @@ -0,0 +1,3 @@ +# "23+13" is invalid as a tag +23_13-oe2203sp3: + openjdk/23+13/22.03-lts-sp3/Dockerfile \ No newline at end of file