Initial commit, with alpine, ubi9 and ubi9-micro based
Build and Push Alpine Corretto JDK Image to docker.io Registry / Build and push jdk corretto alpine based to docker.io (push) Successful in 10m5s Details
Build and Push Alpine Corretto JDK Image to git.winteraccess.id Registry / Build and push jdk corretto alpine based to git.winteraccess.id (push) Successful in 4m20s Details
Build and Push UBI9 Corretto JDK Image to docker.io Registry / Build and push jdk corretto ubi9 based to docker.io (push) Successful in 12m36s Details
Build and Push UBI9 Corretto JDK Image to git.winteraccess.id Registry / Build and push jdk corretto ubi9 based to git.winteraccess.id (push) Successful in 4m40s Details
Build and Push UBI9 Corretto JDK Image to docker.io Registry / Build and push jdk corretto ubi9-micro based to docker.io (push) Successful in 6m18s Details
Build and Push UBI9 Corretto JDK Image to git.winteraccess.id Registry / Build and push jdk corretto ubi9-micro based to git.winteraccess.id (push) Successful in 3m6s Details

This commit is contained in:
Muhamad Aditya Prima 2024-12-14 04:46:52 +07:00
commit 8f0432d691
7 changed files with 655 additions and 0 deletions

View File

@ -0,0 +1,88 @@
name: Build and Push Alpine Corretto JDK Image to docker.io Registry
on:
push:
branches:
- master
jobs:
build:
name: Build and push jdk corretto alpine based to docker.io
runs-on: ubuntu-latest
container:
image: ghcr.io/catthehacker/ubuntu:act-latest
steps:
- name: Check out repository code
uses: actions/checkout@v3
- name: Login to docker.io Registry
uses: docker/login-action@v3
with:
registry: docker.io
username: aprimediet
password: ${{ secrets.DOCKER_TOKEN }}
- name: Build and push jdk 8 corretto
uses: docker/build-push-action@v5
with:
context: .
file: Dockerfile.corretto-alpine
build-args: |
JAVA_VERSION=8
push: true
tags: |
aprimediet/jdk:8-corretto-alpine
aprimediet/jdk:8-alpine
- name: Build and push jdk 11 corretto
uses: docker/build-push-action@v5
with:
context: .
file: Dockerfile.corretto-alpine
build-args: |
JAVA_VERSION=11
push: true
tags: |
aprimediet/jdk:11-corretto-alpine
aprimediet/jdk:11-alpine
- name: Build and push jdk 17 corretto
uses: docker/build-push-action@v5
with:
context: .
file: Dockerfile.corretto-alpine
build-args: |
JAVA_VERSION=17
push: true
tags: |
aprimediet/jdk:17-corretto-alpine
aprimediet/jdk:17-alpine
- name: Build and push jdk 21 corretto
uses: docker/build-push-action@v5
with:
context: .
file: Dockerfile.corretto-alpine
build-args: |
JAVA_VERSION=21
push: true
tags: |
aprimediet/jdk:21-corretto-alpine
aprimediet/jdk:21-alpine
- name: Build and push jdk 22 corretto
uses: docker/build-push-action@v5
with:
context: .
file: Dockerfile.corretto-alpine
build-args: |
JAVA_VERSION=22
push: true
tags: |
aprimediet/jdk:22-corretto-alpine
aprimediet/jdk:22-alpine
- name: Build and push jdk 23 corretto
uses: docker/build-push-action@v5
with:
context: .
file: Dockerfile.corretto-alpine
build-args: |
JAVA_VERSION=23
push: true
tags: |
aprimediet/jdk:23-corretto-alpine
aprimediet/jdk:23-alpine
aprimediet/jdk:alpine

View File

@ -0,0 +1,88 @@
name: Build and Push Alpine Corretto JDK Image to git.winteraccess.id Registry
on:
push:
branches:
- master
jobs:
build:
name: Build and push jdk corretto alpine based to git.winteraccess.id
runs-on: ubuntu-latest
container:
image: ghcr.io/catthehacker/ubuntu:act-latest
steps:
- name: Check out repository code
uses: actions/checkout@v3
- name: Login to git.winteraccess.id Registry
uses: docker/login-action@v3
with:
registry: git.winteraccess.id
username: ${{ vars.REGISTRY_USERNAME }}
password: ${{ secrets.REGISTRY_TOKEN }}
- name: Build and push jdk 8 corretto
uses: docker/build-push-action@v5
with:
context: .
file: Dockerfile.corretto-alpine
build-args: |
JAVA_VERSION=8
push: true
tags: |
git.winteraccess.id/${{ gitea.repository }}:8-corretto-alpine
git.winteraccess.id/${{ gitea.repository }}:8-alpine
- name: Build and push jdk 11 corretto
uses: docker/build-push-action@v5
with:
context: .
file: Dockerfile.corretto-alpine
build-args: |
JAVA_VERSION=11
push: true
tags: |
git.winteraccess.id/${{ gitea.repository }}:11-corretto-alpine
git.winteraccess.id/${{ gitea.repository }}:11-alpine
- name: Build and push jdk 17 corretto
uses: docker/build-push-action@v5
with:
context: .
file: Dockerfile.corretto-alpine
build-args: |
JAVA_VERSION=17
push: true
tags: |
git.winteraccess.id/${{ gitea.repository }}:17-corretto-alpine
git.winteraccess.id/${{ gitea.repository }}:17-alpine
- name: Build and push jdk 21 corretto
uses: docker/build-push-action@v5
with:
context: .
file: Dockerfile.corretto-alpine
build-args: |
JAVA_VERSION=21
push: true
tags: |
git.winteraccess.id/${{ gitea.repository }}:21-corretto-alpine
git.winteraccess.id/${{ gitea.repository }}:21-alpine
- name: Build and push jdk 22 corretto
uses: docker/build-push-action@v5
with:
context: .
file: Dockerfile.corretto-alpine
build-args: |
JAVA_VERSION=22
push: true
tags: |
git.winteraccess.id/${{ gitea.repository }}:22-corretto-alpine
git.winteraccess.id/${{ gitea.repository }}:22-alpine
- name: Build and push jdk 23 corretto
uses: docker/build-push-action@v5
with:
context: .
file: Dockerfile.corretto-alpine
build-args: |
JAVA_VERSION=23
push: true
tags: |
git.winteraccess.id/${{ gitea.repository }}:23-corretto-alpine
git.winteraccess.id/${{ gitea.repository }}:23-alpine
git.winteraccess.id/${{ gitea.repository }}:alpine

View File

@ -0,0 +1,178 @@
name: Build and Push UBI9 Corretto JDK Image to docker.io Registry
on:
push:
branches:
- master
jobs:
build:
name: Build and push jdk corretto ubi9 based to docker.io
runs-on: ubuntu-latest
container:
image: ghcr.io/catthehacker/ubuntu:act-latest
steps:
- name: Check out repository code
uses: actions/checkout@v3
- name: Login to docker.io Registry
uses: docker/login-action@v3
with:
registry: docker.io
username: aprimediet
password: ${{ secrets.DOCKER_TOKEN }}
- name: Build and push jdk 8 corretto
uses: docker/build-push-action@v5
with:
context: .
file: Dockerfile.corretto-ubi9
build-args: |
JAVA_VERSION=8
push: true
tags: |
aprimediet/jdk:8-corretto-ubi9
aprimediet/jdk:8-ubi9
aprimediet/jdk:8
- name: Build and push jdk 11 corretto
uses: docker/build-push-action@v5
with:
context: .
file: Dockerfile.corretto-ubi9
build-args: |
JAVA_VERSION=11
push: true
tags: |
aprimediet/jdk:11-corretto-ubi9
aprimediet/jdk:11-ubi9
aprimediet/jdk:11
- name: Build and push jdk 17 corretto
uses: docker/build-push-action@v5
with:
context: .
file: Dockerfile.corretto-ubi9
build-args: |
JAVA_VERSION=17
push: true
tags: |
aprimediet/jdk:17-corretto-ubi9
aprimediet/jdk:17-ubi9
aprimediet/jdk:17
- name: Build and push jdk 21 corretto
uses: docker/build-push-action@v5
with:
context: .
file: Dockerfile.corretto-ubi9
build-args: |
JAVA_VERSION=21
push: true
tags: |
aprimediet/jdk:21-corretto-ubi9
aprimediet/jdk:21-ubi9
aprimediet/jdk:21
- name: Build and push jdk 22 corretto
uses: docker/build-push-action@v5
with:
context: .
file: Dockerfile.corretto-ubi9
build-args: |
JAVA_VERSION=22
push: true
tags: |
aprimediet/jdk:22-corretto-ubi9
aprimediet/jdk:22-ubi9
aprimediet/jdk:22
- name: Build and push jdk 23 corretto
uses: docker/build-push-action@v5
with:
context: .
file: Dockerfile.corretto-ubi9
build-args: |
JAVA_VERSION=23
push: true
tags: |
aprimediet/jdk:23-corretto-ubi9
aprimediet/jdk:23-ubi9
aprimediet/jdk:23
aprimediet/jdk:ubi9
aprimediet/jdk:latest
build-micro:
name: Build and push jdk corretto ubi9-micro based to docker.io
runs-on: ubuntu-latest
needs:
- build
container:
image: ghcr.io/catthehacker/ubuntu:act-latest
steps:
- name: Check out repository code
uses: actions/checkout@v3
- name: Login to docker.io Registry
uses: docker/login-action@v3
with:
registry: docker.io
username: aprimediet
password: ${{ secrets.DOCKER_TOKEN }}
- name: Build and push jdk 8 corretto
uses: docker/build-push-action@v5
with:
context: .
file: Dockerfile.corretto-ubi9-micro
build-args: |
JAVA_VERSION=8
push: true
tags: |
aprimediet/jdk:8-corretto-ubi9-micro
aprimediet/jdk:8-ubi9-micro
- name: Build and push jdk 11 corretto
uses: docker/build-push-action@v5
with:
context: .
file: Dockerfile.corretto-ubi9-micro
build-args: |
JAVA_VERSION=11
push: true
tags: |
aprimediet/jdk:11-corretto-ubi9-micro
aprimediet/jdk:11-ubi9-micro
- name: Build and push jdk 17 corretto
uses: docker/build-push-action@v5
with:
context: .
file: Dockerfile.corretto-ubi9-micro
build-args: |
JAVA_VERSION=17
push: true
tags: |
aprimediet/jdk:17-corretto-ubi9-micro
aprimediet/jdk:17-ubi9-micro
- name: Build and push jdk 21 corretto
uses: docker/build-push-action@v5
with:
context: .
file: Dockerfile.corretto-ubi9-micro
build-args: |
JAVA_VERSION=21
push: true
tags: |
aprimediet/jdk:21-corretto-ubi9-micro
aprimediet/jdk:21-ubi9-micro
- name: Build and push jdk 22 corretto
uses: docker/build-push-action@v5
with:
context: .
file: Dockerfile.corretto-ubi9-micro
build-args: |
JAVA_VERSION=22
push: true
tags: |
aprimediet/jdk:22-corretto-ubi9-micro
aprimediet/jdk:22-ubi9-micro
- name: Build and push jdk 23 corretto
uses: docker/build-push-action@v5
with:
context: .
file: Dockerfile.corretto-ubi9-micro
build-args: |
JAVA_VERSION=23
push: true
tags: |
aprimediet/jdk:23-corretto-ubi9-micro
aprimediet/jdk:23-ubi9-micro
aprimediet/jdk:ubi9-micro

View File

@ -0,0 +1,178 @@
name: Build and Push UBI9 Corretto JDK Image to git.winteraccess.id Registry
on:
push:
branches:
- master
jobs:
build:
name: Build and push jdk corretto ubi9 based to git.winteraccess.id
runs-on: ubuntu-latest
container:
image: ghcr.io/catthehacker/ubuntu:act-latest
steps:
- name: Check out repository code
uses: actions/checkout@v3
- name: Login to git.winteraccess.id Registry
uses: docker/login-action@v3
with:
registry: git.winteraccess.id
username: ${{ vars.REGISTRY_USERNAME }}
password: ${{ secrets.REGISTRY_TOKEN }}
- name: Build and push jdk 8 corretto
uses: docker/build-push-action@v5
with:
context: .
file: Dockerfile.corretto-ubi9
build-args: |
JAVA_VERSION=8
push: true
tags: |
git.winteraccess.id/${{ gitea.repository }}:8-corretto-ubi9
git.winteraccess.id/${{ gitea.repository }}:8-ubi9
git.winteraccess.id/${{ gitea.repository }}:8
- name: Build and push jdk 11 corretto
uses: docker/build-push-action@v5
with:
context: .
file: Dockerfile.corretto-ubi9
build-args: |
JAVA_VERSION=11
push: true
tags: |
git.winteraccess.id/${{ gitea.repository }}:11-corretto-ubi9
git.winteraccess.id/${{ gitea.repository }}:11-ubi9
git.winteraccess.id/${{ gitea.repository }}:11
- name: Build and push jdk 17 corretto
uses: docker/build-push-action@v5
with:
context: .
file: Dockerfile.corretto-ubi9
build-args: |
JAVA_VERSION=17
push: true
tags: |
git.winteraccess.id/${{ gitea.repository }}:17-corretto-ubi9
git.winteraccess.id/${{ gitea.repository }}:17-ubi9
git.winteraccess.id/${{ gitea.repository }}:17
- name: Build and push jdk 21 corretto
uses: docker/build-push-action@v5
with:
context: .
file: Dockerfile.corretto-ubi9
build-args: |
JAVA_VERSION=21
push: true
tags: |
git.winteraccess.id/${{ gitea.repository }}:21-corretto-ubi9
git.winteraccess.id/${{ gitea.repository }}:21-ubi9
git.winteraccess.id/${{ gitea.repository }}:21
- name: Build and push jdk 22 corretto
uses: docker/build-push-action@v5
with:
context: .
file: Dockerfile.corretto-ubi9
build-args: |
JAVA_VERSION=22
push: true
tags: |
git.winteraccess.id/${{ gitea.repository }}:22-corretto-ubi9
git.winteraccess.id/${{ gitea.repository }}:22-ubi9
git.winteraccess.id/${{ gitea.repository }}:22
- name: Build and push jdk 23 corretto
uses: docker/build-push-action@v5
with:
context: .
file: Dockerfile.corretto-ubi9
build-args: |
JAVA_VERSION=23
push: true
tags: |
git.winteraccess.id/${{ gitea.repository }}:23-corretto-ubi9
git.winteraccess.id/${{ gitea.repository }}:23-ubi9
git.winteraccess.id/${{ gitea.repository }}:23
git.winteraccess.id/${{ gitea.repository }}:ubi9
git.winteraccess.id/${{ gitea.repository }}:latest
build-micro:
name: Build and push jdk corretto ubi9-micro based to git.winteraccess.id
runs-on: ubuntu-latest
needs:
- build
container:
image: ghcr.io/catthehacker/ubuntu:act-latest
steps:
- name: Check out repository code
uses: actions/checkout@v3
- name: Login to git.winteraccess.id Registry
uses: docker/login-action@v3
with:
registry: git.winteraccess.id
username: ${{ vars.REGISTRY_USERNAME }}
password: ${{ secrets.REGISTRY_TOKEN }}
- name: Build and push jdk 8 corretto
uses: docker/build-push-action@v5
with:
context: .
file: Dockerfile.corretto-ubi9-micro
build-args: |
JAVA_VERSION=8
push: true
tags: |
git.winteraccess.id/${{ gitea.repository }}:8-corretto-ubi9-micro
git.winteraccess.id/${{ gitea.repository }}:8-ubi9-micro
- name: Build and push jdk 11 corretto
uses: docker/build-push-action@v5
with:
context: .
file: Dockerfile.corretto-ubi9-micro
build-args: |
JAVA_VERSION=11
push: true
tags: |
git.winteraccess.id/${{ gitea.repository }}:11-corretto-ubi9-micro
git.winteraccess.id/${{ gitea.repository }}:11-ubi9-micro
- name: Build and push jdk 17 corretto
uses: docker/build-push-action@v5
with:
context: .
file: Dockerfile.corretto-ubi9-micro
build-args: |
JAVA_VERSION=17
push: true
tags: |
git.winteraccess.id/${{ gitea.repository }}:17-corretto-ubi9-micro
git.winteraccess.id/${{ gitea.repository }}:17-ubi9-micro
- name: Build and push jdk 21 corretto
uses: docker/build-push-action@v5
with:
context: .
file: Dockerfile.corretto-ubi9-micro
build-args: |
JAVA_VERSION=21
push: true
tags: |
git.winteraccess.id/${{ gitea.repository }}:21-corretto-ubi9-micro
git.winteraccess.id/${{ gitea.repository }}:21-ubi9-micro
- name: Build and push jdk 22 corretto
uses: docker/build-push-action@v5
with:
context: .
file: Dockerfile.corretto-ubi9-micro
build-args: |
JAVA_VERSION=22
push: true
tags: |
git.winteraccess.id/${{ gitea.repository }}:22-corretto-ubi9-micro
git.winteraccess.id/${{ gitea.repository }}:22-ubi9-micro
- name: Build and push jdk 23 corretto
uses: docker/build-push-action@v5
with:
context: .
file: Dockerfile.corretto-ubi9-micro
build-args: |
JAVA_VERSION=23
push: true
tags: |
git.winteraccess.id/${{ gitea.repository }}:23-corretto-ubi9-micro
git.winteraccess.id/${{ gitea.repository }}:23-ubi9-micro
git.winteraccess.id/${{ gitea.repository }}:ubi9-micro

View File

@ -0,0 +1,58 @@
ARG REGISTRY_URL=docker.io/aprimediet
ARG ALPINE_VERSION=3.21
FROM ${REGISTRY_URL}/alpine:${ALPINE_VERSION}
LABEL maintainer="<Muhamad Aditya Prima> aprimediet@gmail.com"
ARG JAVA_VERSION=8
USER root
WORKDIR /tmp
# Set java environment
ENV JAVA_HOME=/usr/local/share/jdk
ENV PATH=${JAVA_HOME}/bin:$PATH
# Default to UTF-8 file.encoding
ENV LANG='en_US.UTF-8' LANGUAGE='en_US:en' LC_ALL='en_US.UTF-8'
# Add nginx user and group
RUN addgroup -g 10001 java && \
adduser -D -u 10001 -G java -s /sbin/nologin -h /app java
# Install requirements
RUN --mount=type=cache,target=/var/cache/apk \
apk add --update \
# java.lang.UnsatisfiedLinkError: libfontmanager.so: libfreetype.so.6: cannot open shared object file: No such file or directory
# java.lang.NoClassDefFoundError: Could not initialize class sun.awt.X11FontManager
# https://github.com/docker-library/openjdk/pull/235#issuecomment-424466077
fontconfig ttf-dejavu \
# gnupg required to verify the signature
gnupg \
# utilities for keeping Alpine and OpenJDK CA certificates in sync
# https://github.com/adoptium/containers/issues/293
ca-certificates p11-kit-trust \
# locales ensures proper character encoding and locale-specific behaviors using en_US.UTF-8
musl-locales musl-locales-lang \
tzdata \
# Contains `csplit` used for splitting multiple certificates in one file to multiple files, since keytool can
# only import one at a time.
coreutils \
# Needed to extract CN and generate aliases for certificates
openssl;
# Get amazon correto jdk flavor
ADD https://corretto.aws/downloads/latest/amazon-corretto-${JAVA_VERSION}-x64-alpine-jdk.tar.gz ./
# Extract to JAVA_HOME
RUN tar -xzvf ./amazon-corretto-${JAVA_VERSION}-x64-alpine-jdk.tar.gz -C /usr/local/share && \
mv /usr/local/share/amazon* /usr/local/share/jdk && \
rm -f ./amazon-corretto-${JAVA_VERSION}-x64-alpine-jdk.tar.gz && \
chown -R java:java /usr/local/share/jdk && \
rm -rf /var/cache/apk/*
USER java
WORKDIR /app
CMD ["/usr/local/share/jdk/bin/java"]

36
Dockerfile.corretto-ubi9 Normal file
View File

@ -0,0 +1,36 @@
ARG REGISTRY_URL=docker.io/aprimediet
ARG UBI_VERSION=9.5
FROM ${REGISTRY_URL}/ubi9:${UBI_VERSION}
LABEL maintainer="<Muhamad Aditya Prima> aprimediet@gmail.com"
ARG JAVA_VERSION=8
USER root
WORKDIR /tmp
# Set java environment
ENV JAVA_HOME=/usr/local/share/jdk
ENV PATH=${JAVA_HOME}/bin:$PATH
# Add group and user nginx
RUN groupadd -g 10001 java && \
useradd -u 10001 -g 10001 -m -d /app -s /sbin/nologin java && \
dnf -y update
# Get amazon correto jdk flavor
ADD https://corretto.aws/downloads/latest/amazon-corretto-${JAVA_VERSION}-x64-linux-jdk.tar.gz ./
# Extract to JAVA_HOME
RUN tar -xzvf ./amazon-corretto-${JAVA_VERSION}-x64-linux-jdk.tar.gz -C /usr/local/share && \
mv /usr/local/share/amazon* /usr/local/share/jdk && \
rm -f ./amazon-corretto-${JAVA_VERSION}-x64-linux-jdk.tar.gz && \
chown -R java:java /usr/local/share/jdk && \
dnf -y autoremove && \
dnf -y clean all
USER java
WORKDIR /app
CMD ["/usr/local/share/jdk/bin/java"]

View File

@ -0,0 +1,29 @@
ARG REGISTRY_URL=docker.io/aprimediet
ARG UBI_VERSION=9.5
ARG JAVA_VERSION=8
FROM ${REGISTRY_URL}/jdk:${JAVA_VERSION}-corretto-ubi9 AS builder
LABEL maintainer="<Muhamad Aditya Prima> aprimediet@gmail.com"
FROM ${REGISTRY_URL}/ubi9:${UBI_VERSION}-micro AS runtime
LABEL maintainer="<Muhamad Aditya Prima> aprimediet@gmail.com"
USER root
WORKDIR /tmp
# Set java environment
ENV JAVA_HOME=/usr/local/share/jdk
ENV PATH=${JAVA_HOME}/bin:$PATH
# Create user and group
RUN echo "java:x:10001:" >> /etc/group && \
echo "java:x:10001:10001:java:/app:/sbin/nologin" >> /etc/passwd && \
echo "java:!!:20070::::::" >> /etc/shadow && \
mkdir -p /app && \
chown java:java /app
COPY --from=builder /usr/local/share/jdk /usr/local/share/jdk
USER java
WORKDIR /app