Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
58 changes: 54 additions & 4 deletions .github/workflows/docker.yml
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
name: "Docker"

on:
workflow_dispatch:

push:
branches: ["master"]

Expand All @@ -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:
Expand All @@ -27,4 +60,21 @@ jobs:
- item: openjdk-mvn
- item: openjdk8

fail-fast: false
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"
36 changes: 36 additions & 0 deletions AGENTS.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
# AGENTS.md

## 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.

## 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 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: <target>` 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.
1 change: 1 addition & 0 deletions CLAUDE.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
@AGENTS.md
62 changes: 62 additions & 0 deletions Makefile
Original file line number Diff line number Diff line change
@@ -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
54 changes: 32 additions & 22 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,26 +1,26 @@
# JAVA
<h1 align=center>Dockette / Java</h1>

Ready-to-use images for Java JDK 8 (OpenJDK) & Maven 3.
<p align=center>
<a href="https://github.com/dockette/java/actions"><img src="https://github.com/dockette/java/actions/workflows/docker.yml/badge.svg" alt="GitHub Actions"></a>
<a href="https://hub.docker.com/r/dockette/java"><img src="https://img.shields.io/docker/pulls/dockette/java.svg" alt="Docker Hub pulls"></a>
<a href="https://github.com/sponsors/f3l1x"><img src="https://img.shields.io/badge/sponsor-GitHub%20Sponsors-ea4aaa" alt="GitHub Sponsors"></a>
<a href="https://github.com/orgs/dockette/discussions"><img src="https://img.shields.io/badge/support-discussions-6f42c1" alt="Support/Discussions"></a>
</p>

-----

[![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/)
<p align=center>
Ready-to-use legacy images for Java JDK 8 (OpenJDK) and Maven 3.
</p>

## 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

> Java 1.8.0_131-b13

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 Oracle Java JDK 8 image is based on Alpine linux (`dockette/alpine:3.8`).
Docker Hub: <https://hub.docker.com/r/dockette/jdk8>

```
docker run -v /path/to/site:/srv dockette/jdk8
Expand All @@ -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`).

[![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 Alpine linux (`dockette/alpine:3.8`).
Docker Hub: <https://hub.docker.com/r/dockette/openjdk8>

```
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`).

[![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/)
This Maven 3 with Oracle Java JDK 8 image is based on Alpine linux (`dockette/alpine:3.8`).
Docker Hub: <https://hub.docker.com/r/dockette/mvn>

```
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: <https://hub.docker.com/r/dockette/openjdk-mvn>

```
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.