diff --git a/.github/workflows/docker.yml b/.github/workflows/docker.yml index d35d12d..64c1246 100644 --- a/.github/workflows/docker.yml +++ b/.github/workflows/docker.yml @@ -1,6 +1,8 @@ name: "Docker" on: + workflow_dispatch: + push: branches: ["master"] @@ -11,14 +13,45 @@ permissions: contents: read jobs: + test: + name: "Test" + runs-on: "ubuntu-latest" + + strategy: + matrix: + include: + - item: jdk8 + - item: mvn + - item: openjdk-mvn + - item: openjdk8 + fail-fast: false + + steps: + - name: "Checkout" + uses: actions/checkout@v4 + + - name: "Set up Docker Buildx" + uses: docker/setup-buildx-action@v3 + + - name: "Build image" + uses: docker/build-push-action@v6 + with: + context: "${{ matrix.item }}" + load: true + tags: "dockette/${{ matrix.item }}:latest" + + - name: "Test image" + run: "make test-${{ matrix.item }}" + build: name: "Build" + needs: ["test"] uses: dockette/.github/.github/workflows/docker.yml@master secrets: inherit with: - image: "dockette/${{ matrix.item }}" - tag: "latest" - context: "${{ matrix.item }}" + image: "dockette/${{ matrix.item }}" + tag: "latest" + context: "${{ matrix.item }}" strategy: matrix: include: @@ -27,4 +60,21 @@ jobs: - item: openjdk-mvn - item: openjdk8 - fail-fast: false \ No newline at end of file + fail-fast: false + + docs: + name: "Docs" + runs-on: "ubuntu-latest" + needs: ["build"] + if: github.ref == 'refs/heads/master' + + steps: + - name: "Checkout" + uses: actions/checkout@v4 + + - name: "Update Docker Hub description" + uses: peter-evans/dockerhub-description@v5 + with: + username: ${{ secrets.DOCKERHUB_USERNAME }} + password: ${{ secrets.DOCKERHUB_TOKEN }} + repository: "dockette/java" diff --git a/AGENTS.md b/AGENTS.md new file mode 100644 index 0000000..a8e8d26 --- /dev/null +++ b/AGENTS.md @@ -0,0 +1,36 @@ +# AGENTS.md + +## Project + +Legacy Dockette Java image collection for Java 8 and Maven 3 workloads. Images are based on maintained Eclipse Temurin Alpine Java 8 images and are kept for compatibility, not as current Java runtime images. + +## Images + +- Published images are `dockette/jdk8`, `dockette/openjdk8`, `dockette/mvn`, and `dockette/openjdk-mvn`. +- Build contexts are `jdk8`, `openjdk8`, `mvn`, and `openjdk-mvn`. +- `jdk8` and `mvn` use Eclipse Temurin OpenJDK 8 instead of legacy Oracle downloads. +- `openjdk8` and `openjdk-mvn` use Eclipse Temurin OpenJDK 8 instead of pinned Alpine OpenJDK packages. +- `mvn` and `openjdk-mvn` include Maven `3.5.4` and `settings-docker.xml`. +- GitHub Actions builds and publishes each context with the `latest` tag. + +## Commands + +- `make build` builds all four image contexts. +- `make build-jdk8`, `make build-mvn`, `make build-openjdk-mvn`, and `make build-openjdk8` build individual images. +- `make test` runs `java -version` and, for Maven images, `mvn -version`. +- `make run` defaults to `run-openjdk8`. +- Override `DOCKER_IMAGE_PREFIX` or `DOCKER_TAG` for local image names and tags. + +## Testing + +- Use `make -n build test run` to dry-run the aggregate commands before changing build logic. +- Run the relevant `make test-*` target after building one image context. +- Keep workflow matrix items in sync with the `IMAGES` Makefile variable and repository directories. + +## Guidelines + +- Keep Dockerfiles, `Makefile`, README usage examples, and `.github/workflows/docker.yml` matrix entries aligned. +- Prefer `DOCKER_*` names for Docker-related Makefile variables. +- Place `.PHONY: ` directly above each Makefile target. +- Treat version bumps as legacy compatibility changes and update README version notes when image contents change. +- Do not introduce unrelated formatting or structural changes. diff --git a/CLAUDE.md b/CLAUDE.md new file mode 100644 index 0000000..43c994c --- /dev/null +++ b/CLAUDE.md @@ -0,0 +1 @@ +@AGENTS.md diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..528ddbf --- /dev/null +++ b/Makefile @@ -0,0 +1,62 @@ +DOCKER_IMAGE_PREFIX?=dockette +DOCKER_TAG?=latest +IMAGES := jdk8 mvn openjdk-mvn openjdk8 + + +.PHONY: build +build: $(addprefix build-,$(IMAGES)) + +.PHONY: test +test: $(addprefix test-,$(IMAGES)) +.PHONY: run +run: run-openjdk8 + +.PHONY: build-jdk8 +build-jdk8: + docker build -t ${DOCKER_IMAGE_PREFIX}/jdk8:${DOCKER_TAG} jdk8 + +.PHONY: build-mvn +build-mvn: + docker build -t ${DOCKER_IMAGE_PREFIX}/mvn:${DOCKER_TAG} mvn + +.PHONY: build-openjdk-mvn +build-openjdk-mvn: + docker build -t ${DOCKER_IMAGE_PREFIX}/openjdk-mvn:${DOCKER_TAG} openjdk-mvn + +.PHONY: build-openjdk8 +build-openjdk8: + docker build -t ${DOCKER_IMAGE_PREFIX}/openjdk8:${DOCKER_TAG} openjdk8 + +.PHONY: test-jdk8 +test-jdk8: + docker run --rm ${DOCKER_IMAGE_PREFIX}/jdk8:${DOCKER_TAG} java -version + +.PHONY: test-mvn +test-mvn: + docker run --rm ${DOCKER_IMAGE_PREFIX}/mvn:${DOCKER_TAG} java -version + docker run --rm ${DOCKER_IMAGE_PREFIX}/mvn:${DOCKER_TAG} mvn -version + +.PHONY: test-openjdk-mvn +test-openjdk-mvn: + docker run --rm ${DOCKER_IMAGE_PREFIX}/openjdk-mvn:${DOCKER_TAG} java -version + docker run --rm ${DOCKER_IMAGE_PREFIX}/openjdk-mvn:${DOCKER_TAG} mvn -version + +.PHONY: test-openjdk8 +test-openjdk8: + docker run --rm ${DOCKER_IMAGE_PREFIX}/openjdk8:${DOCKER_TAG} java -version + +.PHONY: run-jdk8 +run-jdk8: + docker run --rm -it -v "$${PWD}:/data" ${DOCKER_IMAGE_PREFIX}/jdk8:${DOCKER_TAG} java -version + +.PHONY: run-mvn +run-mvn: + docker run --rm -it -v "$${PWD}:/data" ${DOCKER_IMAGE_PREFIX}/mvn:${DOCKER_TAG} + +.PHONY: run-openjdk-mvn +run-openjdk-mvn: + docker run --rm -it -v "$${PWD}:/data" ${DOCKER_IMAGE_PREFIX}/openjdk-mvn:${DOCKER_TAG} + +.PHONY: run-openjdk8 +run-openjdk8: + docker run --rm -it -v "$${PWD}:/data" ${DOCKER_IMAGE_PREFIX}/openjdk8:${DOCKER_TAG} java -version diff --git a/README.md b/README.md index 02b255f..de2bc92 100644 --- a/README.md +++ b/README.md @@ -1,56 +1,66 @@ -# JAVA +

Dockette / Java

-Ready-to-use images for Java JDK 8 (OpenJDK) & Maven 3. +

+ GitHub Actions + Docker Hub images + GitHub Sponsors + Support/Discussions +

------ - -[![Docker Stars](https://img.shields.io/docker/stars/dockette/java.svg?style=flat)](https://hub.docker.com/r/dockette/java/) -[![Docker Pulls](https://img.shields.io/docker/pulls/dockette/java.svg?style=flat)](https://hub.docker.com/r/dockette/java/) +

+ Ready-to-use legacy images for Java 8, OpenJDK 8, and Maven 3. +

-## Discussion / Help - -[![Join the chat](https://img.shields.io/gitter/room/dockette/dockette.svg?style=flat-square)](https://gitter.im/dockette/dockette?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge) +----- ## Usage -### Oracle JDK 8 +### JDK 8 -> Java 1.8.0_131-b13 +> Eclipse Temurin OpenJDK 8 -This Oracle Java JDK 8 is based on Alpine linux (`dockette/alpine:3.8`). - -[![Docker Stars](https://img.shields.io/docker/stars/dockette/jdk8.svg?style=flat)](https://hub.docker.com/r/dockette/jdk8/) -[![Docker Pulls](https://img.shields.io/docker/pulls/dockette/jdk8.svg?style=flat)](https://hub.docker.com/r/dockette/jdk8/) +This Java JDK 8 image is based on Eclipse Temurin Alpine. +Docker Hub: ``` -docker run -v /path/to/site:/srv dockette/jdk8 +docker run -v /path/to/site:/data dockette/jdk8 ``` ### OpenJDK 8 -> OpenJDK 8.171.11-r0 - -This OpenJDK 8 is based on Alpine linux (`dockette/alpine:3.8`). +> Eclipse Temurin OpenJDK 8 -[![Docker Stars](https://img.shields.io/docker/stars/dockette/openjdk8.svg?style=flat)](https://hub.docker.com/r/dockette/openjdk8/) -[![Docker Pulls](https://img.shields.io/docker/pulls/dockette/openjdk8.svg?style=flat)](https://hub.docker.com/r/dockette/openjdk8/) +This OpenJDK 8 image is based on Eclipse Temurin Alpine. +Docker Hub: ``` -docker run -v /path/to/site:/srv dockette/openjdk8 +docker run -v /path/to/site:/data dockette/openjdk8 ``` -### Maven 3 +### Maven 3 > Maven 3.5.4 -This Maven 3 with Oracle Java JDK 8 is based on Alpine linux (`dockette/alpine:3.8`). +This Maven 3 with Java JDK 8 image is based on Eclipse Temurin Alpine. +Docker Hub: -[![Docker Stars](https://img.shields.io/docker/stars/dockette/mvn.svg?style=flat)](https://hub.docker.com/r/dockette/mvn/) -[![Docker Pulls](https://img.shields.io/docker/pulls/dockette/mvn.svg?style=flat)](https://hub.docker.com/r/dockette/mvn/) +``` +docker run -v /path/to/site:/data dockette/mvn +``` + +### OpenJDK 8 + Maven 3 + +This Maven 3 with OpenJDK 8 image is based on Eclipse Temurin Alpine. +Docker Hub: ``` -docker run -v /path/to/site:/srv dockette/mvn +docker run -v /path/to/site:/data dockette/openjdk-mvn ``` +## Legacy Support + +These images target Java 8 and Maven 3.5.4. They are kept for legacy workloads and should not be treated as current Java runtime images. + ## Maintenance + See [how to contribute](https://github.com/dockette/.github/blob/master/CONTRIBUTING.md) to this package. Consider to [support](https://github.com/sponsors/f3l1x) **f3l1x**. Thank you for using this package. diff --git a/jdk8/Dockerfile b/jdk8/Dockerfile index 853ed23..80b87ca 100644 --- a/jdk8/Dockerfile +++ b/jdk8/Dockerfile @@ -1,75 +1,11 @@ -FROM dockette/alpine:3.8 +FROM eclipse-temurin:8-jdk-alpine MAINTAINER Milan Sulc -ENV JAVA_VERSION=8 \ - JAVA_UPDATE=181 \ - JAVA_BUILD=13 \ - JAVA_HOME="/usr/lib/jvm/default-jvm" \ - LANG=C.UTF-8 \ - GLIBC_VERSION=2.27-r0 \ - ORACLE_AUTHORIZATION_KEY=96a7b8442fe848ef90c96a2fad6ed6d1 +ENV LANG=C.UTF-8 -# Based on offical @andreptb/Dockerfiles (thank you) - -RUN apk upgrade --update && \ - apk add --no-cache --virtual=build-dependencies libstdc++ curl ca-certificates unzip && \ - for pkg in glibc-${GLIBC_VERSION} glibc-bin-${GLIBC_VERSION} glibc-i18n-${GLIBC_VERSION}; do curl -sSL https://github.com/andyshinn/alpine-pkg-glibc/releases/download/${GLIBC_VERSION}/${pkg}.apk -o /tmp/${pkg}.apk; done && \ - apk add --allow-untrusted /tmp/*.apk && \ - rm -v /tmp/*.apk && \ - ( /usr/glibc-compat/bin/localedef --force --inputfile POSIX --charmap UTF-8 C.UTF-8 || true ) && \ - echo "export LANG=C.UTF-8" > /etc/profile.d/locale.sh && \ - /usr/glibc-compat/sbin/ldconfig /lib /usr/glibc-compat/lib && \ - echo 'hosts: files mdns4_minimal [NOTFOUND=return] dns mdns4' >> /etc/nsswitch.conf && \ - curl -jksSLH "Cookie: oraclelicense=accept-securebackup-cookie" -o /tmp/java.tar.gz \ - "http://download.oracle.com/otn-pub/java/jdk/${JAVA_VERSION}u${JAVA_UPDATE}-b${JAVA_BUILD}/${ORACLE_AUTHORIZATION_KEY}/jdk-${JAVA_VERSION}u${JAVA_UPDATE}-linux-x64.tar.gz" && \ - curl -jksSLH "Cookie: oraclelicense=accept-securebackup-cookie" -o /tmp/jce_policy-${JAVA_VERSION}.zip \ - "http://download.oracle.com/otn-pub/java/jce/${JAVA_VERSION}/jce_policy-${JAVA_VERSION}.zip" && \ - gunzip /tmp/java.tar.gz && \ - tar -C /tmp -xf /tmp/java.tar && \ - mkdir -p "/usr/lib/jvm" && \ - mv "/tmp/jdk1.${JAVA_VERSION}.0_${JAVA_UPDATE}" "/usr/lib/jvm/java-${JAVA_VERSION}-oracle" && \ - ln -s "java-${JAVA_VERSION}-oracle" "$JAVA_HOME" && \ - unzip -jo -d "$JAVA_HOME/jre/lib/security" "/tmp/jce_policy-${JAVA_VERSION}.zip" && \ - ln -s "$JAVA_HOME/bin/"* "/usr/bin/" && \ - apk del glibc-i18n && \ - rm -rf "$JAVA_HOME/"*src.zip \ - "$JAVA_HOME/lib/missioncontrol" \ - "$JAVA_HOME/lib/visualvm" \ - "$JAVA_HOME/lib/"*javafx* \ - "$JAVA_HOME/jre/lib/ext/jfxrt.jar" \ - "$JAVA_HOME/jre/bin/javaws" \ - "$JAVA_HOME/jre/lib/javaws.jar" \ - "$JAVA_HOME/jre/lib/desktop" \ - "$JAVA_HOME/jre/plugin" \ - "$JAVA_HOME/jre/lib/"deploy* \ - "$JAVA_HOME/jre/lib/"*javafx* \ - "$JAVA_HOME/jre/lib/"*jfx* \ - "$JAVA_HOME/jre/lib/amd64/libdecora_sse.so" \ - "$JAVA_HOME/jre/lib/amd64/"libprism_*.so \ - "$JAVA_HOME/jre/lib/amd64/libfxplugins.so" \ - "$JAVA_HOME/jre/lib/amd64/libglass.so" \ - "$JAVA_HOME/jre/lib/amd64/libgstreamer-lite.so" \ - "$JAVA_HOME/jre/lib/amd64/"libjavafx*.so \ - "$JAVA_HOME/jre/lib/amd64/"libjfx*.so \ - "$JAVA_HOME/jre/bin/jjs" \ - "$JAVA_HOME/jre/bin/keytool" \ - "$JAVA_HOME/jre/bin/orbd" \ - "$JAVA_HOME/jre/bin/pack200" \ - "$JAVA_HOME/jre/bin/policytool" \ - "$JAVA_HOME/jre/bin/rmid" \ - "$JAVA_HOME/jre/bin/rmiregistry" \ - "$JAVA_HOME/jre/bin/servertool" \ - "$JAVA_HOME/jre/bin/tnameserv" \ - "$JAVA_HOME/jre/bin/unpack200" \ - "$JAVA_HOME/jre/lib/ext/nashorn.jar" \ - "$JAVA_HOME/jre/lib/jfr.jar" \ - "$JAVA_HOME/jre/lib/jfr" \ - "$JAVA_HOME/jre/lib/oblique-fonts" && \ - # CLEANUP ================================================================== - apk del build-dependencies && \ - rm -rf /tmp/* /var/cache/apk/* +ENV JAVA_HOME=/opt/java/openjdk WORKDIR /data -CMD ["mvn"] +CMD ["java", "-version"] diff --git a/mvn/Dockerfile b/mvn/Dockerfile index e8e61a0..4084fed 100644 --- a/mvn/Dockerfile +++ b/mvn/Dockerfile @@ -1,85 +1,21 @@ -FROM dockette/alpine:3.8 +FROM eclipse-temurin:8-jdk-alpine MAINTAINER Milan Sulc -ENV JAVA_VERSION=8 \ - JAVA_UPDATE=181 \ - JAVA_BUILD=13 \ - JAVA_HOME="/usr/lib/jvm/default-jvm" \ - LANG=C.UTF-8 \ - GLIBC_VERSION=2.27-r0 \ - ORACLE_AUTHORIZATION_KEY=96a7b8442fe848ef90c96a2fad6ed6d1 +ENV LANG=C.UTF-8 +ENV JAVA_HOME=/opt/java/openjdk ENV MAVEN_VERSION=3.5.4 \ USER_HOME_DIR="/root" \ MAVEN_HOME=/usr/share/maven \ MAVEN_CONFIG="$USER_HOME_DIR/.m2" -# Based on offical @andreptb/Dockerfiles (thank you) -# Based on offical MAVEN image (thank you) - -RUN apk upgrade --update && \ - apk add --no-cache --virtual=build-dependencies libstdc++ curl ca-certificates unzip && \ - for pkg in glibc-${GLIBC_VERSION} glibc-bin-${GLIBC_VERSION} glibc-i18n-${GLIBC_VERSION}; do curl -sSL https://github.com/andyshinn/alpine-pkg-glibc/releases/download/${GLIBC_VERSION}/${pkg}.apk -o /tmp/${pkg}.apk; done && \ - apk add --allow-untrusted /tmp/*.apk && \ - rm -v /tmp/*.apk && \ - ( /usr/glibc-compat/bin/localedef --force --inputfile POSIX --charmap UTF-8 C.UTF-8 || true ) && \ - echo "export LANG=C.UTF-8" > /etc/profile.d/locale.sh && \ - /usr/glibc-compat/sbin/ldconfig /lib /usr/glibc-compat/lib && \ - echo 'hosts: files mdns4_minimal [NOTFOUND=return] dns mdns4' >> /etc/nsswitch.conf && \ - curl -jksSLH "Cookie: oraclelicense=accept-securebackup-cookie" -o /tmp/java.tar.gz \ - "http://download.oracle.com/otn-pub/java/jdk/${JAVA_VERSION}u${JAVA_UPDATE}-b${JAVA_BUILD}/${ORACLE_AUTHORIZATION_KEY}/jdk-${JAVA_VERSION}u${JAVA_UPDATE}-linux-x64.tar.gz" && \ - curl -jksSLH "Cookie: oraclelicense=accept-securebackup-cookie" -o /tmp/jce_policy-${JAVA_VERSION}.zip \ - "http://download.oracle.com/otn-pub/java/jce/${JAVA_VERSION}/jce_policy-${JAVA_VERSION}.zip" && \ - gunzip /tmp/java.tar.gz && \ - tar -C /tmp -xf /tmp/java.tar && \ - mkdir -p "/usr/lib/jvm" && \ - mv "/tmp/jdk1.${JAVA_VERSION}.0_${JAVA_UPDATE}" "/usr/lib/jvm/java-${JAVA_VERSION}-oracle" && \ - ln -s "java-${JAVA_VERSION}-oracle" "$JAVA_HOME" && \ - unzip -jo -d "$JAVA_HOME/jre/lib/security" "/tmp/jce_policy-${JAVA_VERSION}.zip" && \ - ln -s "$JAVA_HOME/bin/"* "/usr/bin/" && \ - apk del glibc-i18n && \ - rm -rf "$JAVA_HOME/"*src.zip \ - "$JAVA_HOME/lib/missioncontrol" \ - "$JAVA_HOME/lib/visualvm" \ - "$JAVA_HOME/lib/"*javafx* \ - "$JAVA_HOME/jre/lib/ext/jfxrt.jar" \ - "$JAVA_HOME/jre/bin/javaws" \ - "$JAVA_HOME/jre/lib/javaws.jar" \ - "$JAVA_HOME/jre/lib/desktop" \ - "$JAVA_HOME/jre/plugin" \ - "$JAVA_HOME/jre/lib/"deploy* \ - "$JAVA_HOME/jre/lib/"*javafx* \ - "$JAVA_HOME/jre/lib/"*jfx* \ - "$JAVA_HOME/jre/lib/amd64/libdecora_sse.so" \ - "$JAVA_HOME/jre/lib/amd64/"libprism_*.so \ - "$JAVA_HOME/jre/lib/amd64/libfxplugins.so" \ - "$JAVA_HOME/jre/lib/amd64/libglass.so" \ - "$JAVA_HOME/jre/lib/amd64/libgstreamer-lite.so" \ - "$JAVA_HOME/jre/lib/amd64/"libjavafx*.so \ - "$JAVA_HOME/jre/lib/amd64/"libjfx*.so \ - "$JAVA_HOME/jre/bin/jjs" \ - "$JAVA_HOME/jre/bin/keytool" \ - "$JAVA_HOME/jre/bin/orbd" \ - "$JAVA_HOME/jre/bin/pack200" \ - "$JAVA_HOME/jre/bin/policytool" \ - "$JAVA_HOME/jre/bin/rmid" \ - "$JAVA_HOME/jre/bin/rmiregistry" \ - "$JAVA_HOME/jre/bin/servertool" \ - "$JAVA_HOME/jre/bin/tnameserv" \ - "$JAVA_HOME/jre/bin/unpack200" \ - "$JAVA_HOME/jre/lib/ext/nashorn.jar" \ - "$JAVA_HOME/jre/lib/jfr.jar" \ - "$JAVA_HOME/jre/lib/jfr" \ - "$JAVA_HOME/jre/lib/oblique-fonts" && \ - # MAVEN ==================================================================== - apk add --no-cache --virtual=build-dependencies curl tar unzip libstdc++ && \ +RUN apk add --no-cache --virtual=.maven-deps curl tar && \ mkdir -p /usr/share/maven /usr/share/maven/ref && \ - curl -fsSL http://apache.osuosl.org/maven/maven-3/$MAVEN_VERSION/binaries/apache-maven-$MAVEN_VERSION-bin.tar.gz \ + curl -fsSL "https://archive.apache.org/dist/maven/maven-3/$MAVEN_VERSION/binaries/apache-maven-$MAVEN_VERSION-bin.tar.gz" \ | tar -xzC /usr/share/maven --strip-components=1 && \ ln -s /usr/share/maven/bin/mvn /usr/bin/mvn && \ - # CLEANUP ================================================================== - apk del build-dependencies && \ + apk del .maven-deps && \ rm -rf /tmp/* /var/cache/apk/* WORKDIR /data diff --git a/openjdk-mvn/Dockerfile b/openjdk-mvn/Dockerfile index 66ce965..4c5954e 100644 --- a/openjdk-mvn/Dockerfile +++ b/openjdk-mvn/Dockerfile @@ -1,39 +1,20 @@ -FROM dockette/alpine:3.8 +FROM eclipse-temurin:8-jdk-alpine MAINTAINER Milan Sulc -ENV LANG C.UTF-8 -ENV JAVA_HOME /usr/lib/jvm/java-1.8-openjdk -ENV PATH $PATH:/usr/lib/jvm/java-1.8-openjdk/jre/bin:/usr/lib/jvm/java-1.8-openjdk/bin -ENV JAVA_VERSION 8u171 -ENV JAVA_ALPINE_VERSION 8.171.11-r0 - +ENV LANG=C.UTF-8 +ENV JAVA_HOME=/opt/java/openjdk ENV MAVEN_VERSION=3.5.4 ENV USER_HOME_DIR="/root" -ENV MAVEN_HOME /usr/share/maven -ENV MAVEN_CONFIG "$USER_HOME_DIR/.m2" - -# Based on offical OpenJDK image (thank you) -# Based on offical MAVEN image (thank you) +ENV MAVEN_HOME=/usr/share/maven +ENV MAVEN_CONFIG="$USER_HOME_DIR/.m2" -RUN { \ - echo '#!/bin/sh'; \ - echo 'set -e'; \ - echo; \ - echo 'dirname "$(dirname "$(readlink -f "$(which javac || which java)")")"'; \ - } > /usr/local/bin/docker-java-home && \ - chmod +x /usr/local/bin/docker-java-home && \ - set -x && \ - apk add --no-cache openjdk8="$JAVA_ALPINE_VERSION" && \ - [ "$JAVA_HOME" = "$(docker-java-home)" ] && \ - # MAVEN =============================]======================================= - apk add --no-cache curl tar && \ +RUN apk add --no-cache --virtual=.maven-deps curl tar && \ mkdir -p /usr/share/maven /usr/share/maven/ref && \ - curl -fsSL http://apache.osuosl.org/maven/maven-3/$MAVEN_VERSION/binaries/apache-maven-$MAVEN_VERSION-bin.tar.gz \ + curl -fsSL "https://archive.apache.org/dist/maven/maven-3/$MAVEN_VERSION/binaries/apache-maven-$MAVEN_VERSION-bin.tar.gz" \ | tar -xzC /usr/share/maven --strip-components=1 && \ ln -s /usr/share/maven/bin/mvn /usr/bin/mvn && \ - # CLEANUP ================================================================== - apk del curl tar && \ + apk del .maven-deps && \ rm -rf /tmp/* /var/cache/apk/* WORKDIR /data diff --git a/openjdk8/Dockerfile b/openjdk8/Dockerfile index d1644f0..56b4de4 100644 --- a/openjdk8/Dockerfile +++ b/openjdk8/Dockerfile @@ -1,24 +1,10 @@ -FROM dockette/alpine:3.8 +FROM eclipse-temurin:8-jdk-alpine MAINTAINER Milan Sulc -ENV LANG C.UTF-8 -ENV JAVA_HOME /usr/lib/jvm/java-1.8-openjdk -ENV PATH $PATH:/usr/lib/jvm/java-1.8-openjdk/jre/bin:/usr/lib/jvm/java-1.8-openjdk/bin -ENV JAVA_VERSION 8u171 -ENV JAVA_ALPINE_VERSION 8.171.11-r0 - -# Based on offical OpenJDK image (thank you) - -RUN { \ - echo '#!/bin/sh'; \ - echo 'set -e'; \ - echo; \ - echo 'dirname "$(dirname "$(readlink -f "$(which javac || which java)")")"'; \ - } > /usr/local/bin/docker-java-home && \ - chmod +x /usr/local/bin/docker-java-home && \ - set -x && \ - apk add --no-cache openjdk8="$JAVA_ALPINE_VERSION" && \ - [ "$JAVA_HOME" = "$(docker-java-home)" ] +ENV LANG=C.UTF-8 +ENV JAVA_HOME=/opt/java/openjdk WORKDIR /data + +CMD ["java", "-version"]