Skip to content
Merged
Show file tree
Hide file tree
Changes from 4 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
2 changes: 1 addition & 1 deletion src/java/.devcontainer/Dockerfile
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# This Dockerfile uses separate build arguments instead of VARIANT
ARG TARGET_JAVA_VERSION=21
ARG BASE_IMAGE_VERSION_CODENAME=bookworm
ARG BASE_IMAGE_VERSION_CODENAME=trixie
FROM mcr.microsoft.com/devcontainers/base:${BASE_IMAGE_VERSION_CODENAME}

USER root
Expand Down
16 changes: 8 additions & 8 deletions src/java/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@
| *Categories* | Core, Languages |
| *Image type* | Dockerfile |
| *Published images* | mcr.microsoft.com/devcontainers/java |
| *Available image variants* | 11 / 11-bookworm, 17 / 17-bookworm, 21 / 21-bookworm, 11-bullseye, 17-bullseye, 21-bullseye ([full list](https://mcr.microsoft.com/v2/devcontainers/java/tags/list)) |
| *Available image variants* | 11 / 11-trixie, 17 /17-trixie, , 21 / 21-trixie, 21-bookworm, 17-bookworm, 11-bookworm, 11-bullseye, 17-bullseye, 21-bullseye ([full list](https://mcr.microsoft.com/v2/devcontainers/java/tags/list)) |
| *Published image architecture(s)* | x86-64, arm64/aarch64 for `bookworm`, and `bullseye` variants |
| *Container host OS support* | Linux, macOS, Windows |
| *Container OS* | Debian |
Expand All @@ -22,19 +22,19 @@ See **[history](history)** for information on the contents of published images.
You can directly reference pre-built versions of `Dockerfile` by using the `image` property in `.devcontainer/devcontainer.json` or updating the `FROM` statement in your own `Dockerfile` to one of the following. An example `Dockerfile` is included in this repository.

- `mcr.microsoft.com/devcontainers/java` (latest)
- `mcr.microsoft.com/devcontainers/java:21` (or `21-bookworm`, `21-bullseye` to pin to an OS version)
- `mcr.microsoft.com/devcontainers/java:11` (or `17-bookworm`, `11-bullseye` to pin to an OS version)
- `mcr.microsoft.com/devcontainers/java:17` (or `17-bookworm`, `17-bullseye` to pin to an OS version)
- `mcr.microsoft.com/devcontainers/java:21` (or `21-trixie`, `21-bookworm`, `21-bullseye` to pin to an OS version)
- `mcr.microsoft.com/devcontainers/java:11` (or `11-trixie`, `11-bookworm`, `11-bullseye` to pin to an OS version)
- `mcr.microsoft.com/devcontainers/java:17` (or `17-trixie`, `17-bookworm`, `17-bullseye` to pin to an OS version)

Refer to [this guide](https://containers.dev/guide/dockerfile) for more details.

You can decide how often you want updates by referencing a [semantic version](https://semver.org/) of each image. For example:

- `mcr.microsoft.com/devcontainers/java:1-11` (or `1-11-bookworm`, `1-11-bullseye` to pin to an OS version)
- `mcr.microsoft.com/devcontainers/java:1.0-11` (or `1.0-11-bookworm`, `1.0-11-bullseye` to pin to an OS version)
- `mcr.microsoft.com/devcontainers/java:1.0.0-11` (or `1.0.0-11-bookworm`, `1.0.0-11-bullseye` to pin to an OS version)
- `mcr.microsoft.com/devcontainers/java:2-11` (or `2-11-trixie`, `2-11-bookworm`, `2-11-bullseye` to pin to an OS version)
- `mcr.microsoft.com/devcontainers/java:2.0-11` (or `2.0-11-trixie`, `2.0-11-bookworm`, `2.0-11-bullseye` to pin to an OS version)
- `mcr.microsoft.com/devcontainers/java:2.0.0-11` (or `2.0.0-11-trixie`, `2.0.0-11-bookworm`, `2.0.0-11-bullseye` to pin to an OS version)

However, we only do security patching on the latest [non-breaking, in support](https://github.com/devcontainers/images/issues/90) versions of images (e.g. `1-11`). You may want to run `apt-get update && apt-get upgrade` in your Dockerfile if you lock to a more specific version to at least pick up OS security updates.
However, we only do security patching on the latest [non-breaking, in support](https://github.com/devcontainers/images/issues/90) versions of images (e.g. `2-11`). You may want to run `apt-get update && apt-get upgrade` in your Dockerfile if you lock to a more specific version to at least pick up OS security updates.

See [history](history) for information on the contents of each version and [here for a complete list of available tags](https://mcr.microsoft.com/v2/devcontainers/java/tags/list).

Expand Down
45 changes: 40 additions & 5 deletions src/java/manifest.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
{
"version": "1.1.24",
"version": "2.0.0",
"variants": [
"21-trixie",
"21-bookworm",
"21-bullseye",
"17-bookworm",
Expand All @@ -9,11 +10,23 @@
"11-bullseye"
],
"build": {
"latest": "21-bookworm",
"latest": "21-trixie",
"rootDistro": "debian",
"parent": "base-debian",
"idMismatch": "true",
"variantBuildArgs": {
"21-trixie": {
"TARGET_JAVA_VERSION": "21",
"BASE_IMAGE_VERSION_CODENAME": "trixie"
},
"17-trixie": {
"TARGET_JAVA_VERSION": "11",
"BASE_IMAGE_VERSION_CODENAME": "trixie"
},
"11-trixie": {
"TARGET_JAVA_VERSION": "11",
"BASE_IMAGE_VERSION_CODENAME": "trixie"
},
"21-bookworm": {
"TARGET_JAVA_VERSION": "21",
"BASE_IMAGE_VERSION_CODENAME": "bookworm"
Expand All @@ -40,6 +53,18 @@
}
},
"architectures": {
"21-trixie": [
"linux/amd64",
"linux/arm64"
],
"17-trixie": [
"linux/amd64",
"linux/arm64"
],
"11-trixie": [
"linux/amd64",
"linux/arm64"
],
"21-bookworm": [
"linux/amd64",
"linux/arm64"
Expand Down Expand Up @@ -69,17 +94,27 @@
"java:${VERSION}-${VARIANT}"
],
"variantTags": {
"21-bookworm": [
"21-trixie": [
"java:${VERSION}-21",
"java:${VERSION}-21-jdk-trixie",
"java:${VERSION}-trixie"
],
"17-trixie": [
"java:${VERSION}-17",
"java:${VERSION}-17-jdk-trixie"
],
"11-trixie": [
"java:${VERSION}-11",
"java:${VERSION}-11-jdk-trixie"
],
"21-bookworm": [
"java:${VERSION}-21-jdk-bookworm",
"java:${VERSION}-bookworm"
],
"17-bookworm": [
"java:${VERSION}-17",
"java:${VERSION}-17-jdk-bookworm"
],
"11-bookworm": [
"java:${VERSION}-11",
"java:${VERSION}-11-jdk-bookworm"
],
"21-bullseye": [
Expand Down