From d906a4fec3709209afb9236e81b55f9dd2388bb5 Mon Sep 17 00:00:00 2001
From: Oh My Felix
Date: Fri, 29 May 2026 18:12:49 +0000
Subject: [PATCH 1/7] CI: add rollout baseline
---
.github/workflows/docker.yml | 58 +++++++++++++++++++++++++++++++++---
Makefile | 45 ++++++++++++++++++++++++++++
README.md | 54 +++++++++++++++++++--------------
3 files changed, 131 insertions(+), 26 deletions(-)
create mode 100644 Makefile
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/Makefile b/Makefile
new file mode 100644
index 0000000..e538b77
--- /dev/null
+++ b/Makefile
@@ -0,0 +1,45 @@
+IMAGE_PREFIX ?= dockette
+IMAGES := jdk8 mvn openjdk-mvn openjdk8
+
+.PHONY: build test run $(addprefix build-,$(IMAGES)) $(addprefix test-,$(IMAGES)) $(addprefix run-,$(IMAGES))
+
+build: $(addprefix build-,$(IMAGES))
+
+test: $(addprefix test-,$(IMAGES))
+run: run-openjdk8
+
+build-jdk8:
+ docker build -t $(IMAGE_PREFIX)/jdk8:latest jdk8
+
+build-mvn:
+ docker build -t $(IMAGE_PREFIX)/mvn:latest mvn
+
+build-openjdk-mvn:
+ docker build -t $(IMAGE_PREFIX)/openjdk-mvn:latest openjdk-mvn
+
+build-openjdk8:
+ docker build -t $(IMAGE_PREFIX)/openjdk8:latest openjdk8
+
+test-jdk8:
+ docker run --rm $(IMAGE_PREFIX)/jdk8:latest java -version
+
+test-mvn:
+ docker run --rm $(IMAGE_PREFIX)/mvn:latest sh -lc 'java -version && mvn -version'
+
+test-openjdk-mvn:
+ docker run --rm $(IMAGE_PREFIX)/openjdk-mvn:latest sh -lc 'java -version && mvn -version'
+
+test-openjdk8:
+ docker run --rm $(IMAGE_PREFIX)/openjdk8:latest java -version
+
+run-jdk8:
+ docker run --rm -it -v $(PWD):/data $(IMAGE_PREFIX)/jdk8:latest java -version
+
+run-mvn:
+ docker run --rm -it -v $(PWD):/data $(IMAGE_PREFIX)/mvn:latest
+
+run-openjdk-mvn:
+ docker run --rm -it -v $(PWD):/data $(IMAGE_PREFIX)/openjdk-mvn:latest
+
+run-openjdk8:
+ docker run --rm -it -v $(PWD):/data $(IMAGE_PREFIX)/openjdk8:latest java -version
diff --git a/README.md b/README.md
index 02b255f..faa6329 100644
--- a/README.md
+++ b/README.md
@@ -1,15 +1,17 @@
-# JAVA
+Dockette / Java
-Ready-to-use images for Java JDK 8 (OpenJDK) & Maven 3.
+
+
+
+
+
+
------
-
-[](https://hub.docker.com/r/dockette/java/)
-[](https://hub.docker.com/r/dockette/java/)
+
+ Ready-to-use legacy images for Java JDK 8 (OpenJDK) and Maven 3.
+
-## Discussion / Help
-
-[](https://gitter.im/dockette/dockette?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)
+-----
## Usage
@@ -17,10 +19,8 @@ Ready-to-use images for Java JDK 8 (OpenJDK) & Maven 3.
> Java 1.8.0_131-b13
-This Oracle Java JDK 8 is based on Alpine linux (`dockette/alpine:3.8`).
-
-[](https://hub.docker.com/r/dockette/jdk8/)
-[](https://hub.docker.com/r/dockette/jdk8/)
+This Oracle Java JDK 8 image is based on Alpine linux (`dockette/alpine:3.8`).
+Docker Hub:
```
docker run -v /path/to/site:/srv dockette/jdk8
@@ -30,27 +30,37 @@ docker run -v /path/to/site:/srv dockette/jdk8
> OpenJDK 8.171.11-r0
-This OpenJDK 8 is based on Alpine linux (`dockette/alpine:3.8`).
-
-[](https://hub.docker.com/r/dockette/openjdk8/)
-[](https://hub.docker.com/r/dockette/openjdk8/)
+This OpenJDK 8 image is based on Alpine linux (`dockette/alpine:3.8`).
+Docker Hub:
```
docker run -v /path/to/site:/srv 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`).
-
-[](https://hub.docker.com/r/dockette/mvn/)
-[](https://hub.docker.com/r/dockette/mvn/)
+This Maven 3 with Oracle Java JDK 8 image is based on Alpine linux (`dockette/alpine:3.8`).
+Docker Hub:
```
docker run -v /path/to/site:/srv dockette/mvn
```
+### OpenJDK 8 + Maven 3
+
+This Maven 3 with OpenJDK 8 image is based on Alpine linux (`dockette/alpine:3.8`).
+Docker Hub:
+
+```
+docker run -v /path/to/site:/srv dockette/openjdk-mvn
+```
+
+## Legacy Support
+
+These images target Java 8, Maven 3.5.4, and Alpine 3.8. 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.
From 1d8a1f6fabc3af7c78a598c503d238c2c8e00dba Mon Sep 17 00:00:00 2001
From: Oh My Felix
Date: Wed, 3 Jun 2026 14:06:06 +0000
Subject: [PATCH 2/7] chore: align Makefile Docker variables
---
Makefile | 29 ++++++++++++++++-------------
1 file changed, 16 insertions(+), 13 deletions(-)
diff --git a/Makefile b/Makefile
index e538b77..0d4171c 100644
--- a/Makefile
+++ b/Makefile
@@ -1,4 +1,5 @@
-IMAGE_PREFIX ?= dockette
+DOCKER_IMAGE_PREFIX?=dockette
+DOCKER_TAG?=latest
IMAGES := jdk8 mvn openjdk-mvn openjdk8
.PHONY: build test run $(addprefix build-,$(IMAGES)) $(addprefix test-,$(IMAGES)) $(addprefix run-,$(IMAGES))
@@ -9,37 +10,39 @@ test: $(addprefix test-,$(IMAGES))
run: run-openjdk8
build-jdk8:
- docker build -t $(IMAGE_PREFIX)/jdk8:latest jdk8
+ docker build -t ${DOCKER_IMAGE_PREFIX}/jdk8:${DOCKER_TAG} jdk8
build-mvn:
- docker build -t $(IMAGE_PREFIX)/mvn:latest mvn
+ docker build -t ${DOCKER_IMAGE_PREFIX}/mvn:${DOCKER_TAG} mvn
build-openjdk-mvn:
- docker build -t $(IMAGE_PREFIX)/openjdk-mvn:latest openjdk-mvn
+ docker build -t ${DOCKER_IMAGE_PREFIX}/openjdk-mvn:${DOCKER_TAG} openjdk-mvn
build-openjdk8:
- docker build -t $(IMAGE_PREFIX)/openjdk8:latest openjdk8
+ docker build -t ${DOCKER_IMAGE_PREFIX}/openjdk8:${DOCKER_TAG} openjdk8
test-jdk8:
- docker run --rm $(IMAGE_PREFIX)/jdk8:latest java -version
+ docker run --rm ${DOCKER_IMAGE_PREFIX}/jdk8:${DOCKER_TAG} java -version
test-mvn:
- docker run --rm $(IMAGE_PREFIX)/mvn:latest sh -lc 'java -version && mvn -version'
+ docker run --rm ${DOCKER_IMAGE_PREFIX}/mvn:${DOCKER_TAG} java -version
+ docker run --rm ${DOCKER_IMAGE_PREFIX}/mvn:${DOCKER_TAG} mvn -version
test-openjdk-mvn:
- docker run --rm $(IMAGE_PREFIX)/openjdk-mvn:latest sh -lc 'java -version && mvn -version'
+ docker run --rm ${DOCKER_IMAGE_PREFIX}/openjdk-mvn:${DOCKER_TAG} java -version
+ docker run --rm ${DOCKER_IMAGE_PREFIX}/openjdk-mvn:${DOCKER_TAG} mvn -version
test-openjdk8:
- docker run --rm $(IMAGE_PREFIX)/openjdk8:latest java -version
+ docker run --rm ${DOCKER_IMAGE_PREFIX}/openjdk8:${DOCKER_TAG} java -version
run-jdk8:
- docker run --rm -it -v $(PWD):/data $(IMAGE_PREFIX)/jdk8:latest java -version
+ docker run --rm -it -v "$${PWD}:/data" ${DOCKER_IMAGE_PREFIX}/jdk8:${DOCKER_TAG} java -version
run-mvn:
- docker run --rm -it -v $(PWD):/data $(IMAGE_PREFIX)/mvn:latest
+ docker run --rm -it -v "$${PWD}:/data" ${DOCKER_IMAGE_PREFIX}/mvn:${DOCKER_TAG}
run-openjdk-mvn:
- docker run --rm -it -v $(PWD):/data $(IMAGE_PREFIX)/openjdk-mvn:latest
+ docker run --rm -it -v "$${PWD}:/data" ${DOCKER_IMAGE_PREFIX}/openjdk-mvn:${DOCKER_TAG}
run-openjdk8:
- docker run --rm -it -v $(PWD):/data $(IMAGE_PREFIX)/openjdk8:latest java -version
+ docker run --rm -it -v "$${PWD}:/data" ${DOCKER_IMAGE_PREFIX}/openjdk8:${DOCKER_TAG} java -version
From f107dbfa524cb06143d552279e2aa85a6cb65566 Mon Sep 17 00:00:00 2001
From: Oh My Felix
Date: Wed, 3 Jun 2026 14:19:42 +0000
Subject: [PATCH 3/7] chore: place PHONY declarations above targets
---
Makefile | 16 +++++++++++++++-
1 file changed, 15 insertions(+), 1 deletion(-)
diff --git a/Makefile b/Makefile
index 0d4171c..528ddbf 100644
--- a/Makefile
+++ b/Makefile
@@ -2,47 +2,61 @@ DOCKER_IMAGE_PREFIX?=dockette
DOCKER_TAG?=latest
IMAGES := jdk8 mvn openjdk-mvn openjdk8
-.PHONY: build test run $(addprefix build-,$(IMAGES)) $(addprefix test-,$(IMAGES)) $(addprefix run-,$(IMAGES))
+.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
From 8518d0de8f0e191440db3851f44b56dd5f2f9801 Mon Sep 17 00:00:00 2001
From: Oh My Felix
Date: Wed, 3 Jun 2026 14:23:19 +0000
Subject: [PATCH 4/7] chore: add AI agent instructions
---
AGENTS.md | 19 +++++++++++++++++++
CLAUDE.md | 1 +
2 files changed, 20 insertions(+)
create mode 100644 AGENTS.md
create mode 100644 CLAUDE.md
diff --git a/AGENTS.md b/AGENTS.md
new file mode 100644
index 0000000..e84c2d7
--- /dev/null
+++ b/AGENTS.md
@@ -0,0 +1,19 @@
+# AGENTS.md
+
+## Project
+
+Docker image repository in the Dockette organization.
+
+## Commands
+
+- `make build` builds the default Docker image.
+- `make test` runs the repository smoke tests.
+- `make run` starts the image for local use.
+
+## Guidelines
+
+- Keep Dockerfiles, `Makefile`, README, and GitHub Actions workflow changes aligned.
+- Prefer `DOCKER_*` names for Docker-related Makefile variables.
+- Place `.PHONY: ` directly above each Makefile target.
+- Keep README badges and maintenance sections consistent with other Dockette image repos.
+- 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
From bffdc3990a055499a3e318ebd527a6fd2a85116d Mon Sep 17 00:00:00 2001
From: Oh My Felix
Date: Wed, 3 Jun 2026 14:29:22 +0000
Subject: [PATCH 5/7] chore: specialize AI agent instructions
---
AGENTS.md | 29 +++++++++++++++++++++++------
1 file changed, 23 insertions(+), 6 deletions(-)
diff --git a/AGENTS.md b/AGENTS.md
index e84c2d7..611fa7e 100644
--- a/AGENTS.md
+++ b/AGENTS.md
@@ -2,18 +2,35 @@
## Project
-Docker image repository in the Dockette organization.
+Legacy Dockette Java image collection for Java 8 and Maven 3 workloads. Images are based on `dockette/alpine:3.8` 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` install Oracle JDK 8 with glibc compatibility.
+- `openjdk8` and `openjdk-mvn` install Alpine OpenJDK 8 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 the default Docker image.
-- `make test` runs the repository smoke tests.
-- `make run` starts the image for local use.
+- `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, and GitHub Actions workflow changes aligned.
+- 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.
-- Keep README badges and maintenance sections consistent with other Dockette image repos.
+- Treat version bumps as legacy compatibility changes and update README version notes when image contents change.
- Do not introduce unrelated formatting or structural changes.
From a2cc47e19c814bf09db86ad23e1c40f7dd03548c Mon Sep 17 00:00:00 2001
From: Oh My Felix
Date: Fri, 5 Jun 2026 11:35:24 +0000
Subject: [PATCH 6/7] docs: align README with Java images
Co-authored-by: Felix
---
README.md | 14 +++++++-------
1 file changed, 7 insertions(+), 7 deletions(-)
diff --git a/README.md b/README.md
index faa6329..467018f 100644
--- a/README.md
+++ b/README.md
@@ -2,13 +2,13 @@
-
+
- Ready-to-use legacy images for Java JDK 8 (OpenJDK) and Maven 3.
+ Ready-to-use legacy images for Oracle JDK 8, OpenJDK 8, and Maven 3.
-----
@@ -17,13 +17,13 @@
### Oracle JDK 8
-> Java 1.8.0_131-b13
+> Java 1.8.0_181-b13
This Oracle Java JDK 8 image is based on Alpine linux (`dockette/alpine:3.8`).
Docker Hub:
```
-docker run -v /path/to/site:/srv dockette/jdk8
+docker run -v /path/to/site:/data dockette/jdk8
```
### OpenJDK 8
@@ -34,7 +34,7 @@ This OpenJDK 8 image is based on Alpine linux (`dockette/alpine:3.8`).
Docker Hub:
```
-docker run -v /path/to/site:/srv dockette/openjdk8
+docker run -v /path/to/site:/data dockette/openjdk8
```
### Maven 3
@@ -45,7 +45,7 @@ This Maven 3 with Oracle Java JDK 8 image is based on Alpine linux (`dockette/al
Docker Hub:
```
-docker run -v /path/to/site:/srv dockette/mvn
+docker run -v /path/to/site:/data dockette/mvn
```
### OpenJDK 8 + Maven 3
@@ -54,7 +54,7 @@ This Maven 3 with OpenJDK 8 image is based on Alpine linux (`dockette/alpine:3.8
Docker Hub:
```
-docker run -v /path/to/site:/srv dockette/openjdk-mvn
+docker run -v /path/to/site:/data dockette/openjdk-mvn
```
## Legacy Support
From a5338e3480da9bf2fc6b3dd1820149de02bf3670 Mon Sep 17 00:00:00 2001
From: Milan Sulc
Date: Mon, 8 Jun 2026 13:41:12 +0000
Subject: [PATCH 7/7] Fix Java 8 image builds
---
AGENTS.md | 6 ++--
README.md | 18 +++++-----
jdk8/Dockerfile | 72 +++------------------------------------
mvn/Dockerfile | 76 ++++--------------------------------------
openjdk-mvn/Dockerfile | 35 +++++--------------
openjdk8/Dockerfile | 24 +++----------
6 files changed, 35 insertions(+), 196 deletions(-)
diff --git a/AGENTS.md b/AGENTS.md
index 611fa7e..a8e8d26 100644
--- a/AGENTS.md
+++ b/AGENTS.md
@@ -2,14 +2,14 @@
## Project
-Legacy Dockette Java image collection for Java 8 and Maven 3 workloads. Images are based on `dockette/alpine:3.8` and are kept for compatibility, not as current Java runtime images.
+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` install Oracle JDK 8 with glibc compatibility.
-- `openjdk8` and `openjdk-mvn` install Alpine OpenJDK 8 packages.
+- `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.
diff --git a/README.md b/README.md
index 467018f..de2bc92 100644
--- a/README.md
+++ b/README.md
@@ -8,18 +8,18 @@
- Ready-to-use legacy images for Oracle JDK 8, OpenJDK 8, and Maven 3.
+ Ready-to-use legacy images for Java 8, OpenJDK 8, and Maven 3.
-----
## Usage
-### Oracle JDK 8
+### JDK 8
-> Java 1.8.0_181-b13
+> Eclipse Temurin OpenJDK 8
-This Oracle Java JDK 8 image is based on Alpine linux (`dockette/alpine:3.8`).
+This Java JDK 8 image is based on Eclipse Temurin Alpine.
Docker Hub:
```
@@ -28,9 +28,9 @@ docker run -v /path/to/site:/data dockette/jdk8
### OpenJDK 8
-> OpenJDK 8.171.11-r0
+> Eclipse Temurin OpenJDK 8
-This OpenJDK 8 image is based on Alpine linux (`dockette/alpine:3.8`).
+This OpenJDK 8 image is based on Eclipse Temurin Alpine.
Docker Hub:
```
@@ -41,7 +41,7 @@ docker run -v /path/to/site:/data dockette/openjdk8
> Maven 3.5.4
-This Maven 3 with Oracle Java JDK 8 image 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:
```
@@ -50,7 +50,7 @@ docker run -v /path/to/site:/data dockette/mvn
### OpenJDK 8 + Maven 3
-This Maven 3 with OpenJDK 8 image is based on Alpine linux (`dockette/alpine:3.8`).
+This Maven 3 with OpenJDK 8 image is based on Eclipse Temurin Alpine.
Docker Hub:
```
@@ -59,7 +59,7 @@ docker run -v /path/to/site:/data dockette/openjdk-mvn
## Legacy Support
-These images target Java 8, Maven 3.5.4, and Alpine 3.8. They are kept for legacy workloads and should not be treated as current Java runtime images.
+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
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"]