Sign inSign up

Java Development Container Images

Verified Publisher

devcontainers/java

By Microsoft

•Updated over 2 years ago

A dev container spec-supported image for working with Java.

3

microsoft/devcontainers-java repository overview

⁠Java

⁠About

Develop Java applications. Includes the JDK and Java extensions.

MetadataValue
CategoriesCore, Languages
Image typeDockerfile
Published imagesmcr.microsoft.com/devcontainers/java
Available image variants11 / 11-trixie, 11-bookworm, 17 / 17-trixie, 17-bookworm, 21 / 21-trixie, 21-bookworm, 25 / 25-trixie, 25-bookworm (full list⁠)
Published image architecture(s)x86-64, arm64/aarch64 for trixie and bookworm variants
Container host OS supportLinux, macOS, Windows
Container OSDebian
Languages, platformsJava

See history⁠ for information on the contents of published images.

⁠Using this image

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:25 (or 25-trixie, 25-bookworm to pin to an OS version)
  • mcr.microsoft.com/devcontainers/java:21 (or 21-trixie, 21-bookworm to pin to an OS version)
  • mcr.microsoft.com/devcontainers/java:11 (or 11-trixie, 11-bookworm to pin to an OS version)
  • mcr.microsoft.com/devcontainers/java:17 (or 17-trixie, 17-bookworm to pin to an OS version)

Refer to this guide⁠ for more details.

You can decide how often you want updates by referencing a semantic version⁠ of each image. For example:

  • mcr.microsoft.com/devcontainers/java:3-11 (or 3-11-trixie, 3-11-bookworm, to pin to an OS version)
  • mcr.microsoft.com/devcontainers/java:3.1-11 (or 3.1-11-trixie, 3.1-11-bookworm to pin to an OS version)
  • mcr.microsoft.com/devcontainers/java:3.1.3-11 (or 3.1.3-11-trixie, 3.1.3-11-bookworm `to pin to an OS version)

However, we only do security patching on the latest non-breaking, in support⁠ 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.

See history⁠ for information on the contents of each version and here for a complete list of available tags⁠.

Alternatively, you can use the contents of .devcontainer⁠ to fully customize your container's contents or to build it for a container host architecture not supported by the image.

⁠Installing Maven or Gradle

You can use the Java Feature⁠ to install maven and gradle in .devcontainer/devcontainer.json:

{
  "features": {
     "ghcr.io/devcontainers/features/java:1": {
        "version": "none",
        "installGradle": true,
        "installMaven": true
    }
  }
}
⁠Installing Node.js

Given JavaScript front-end web client code written for use in conjunction with a Java back-end often requires the use of Node.js-based utilities to build, this container also includes nvm so that you can easily install Node.js.

Also, you can use a Node feature⁠ to install any version of Node by adding the following to devcontainer.json:

{
  "features": {
    "ghcr.io/devcontainers/features/node:1": {
      "version": "latest"
    }
  }
}

⁠Support

The dev container spec images are maintained in the devcontainers/images⁠ repo. You can explore each image and open issues or feature requests.

⁠License

Copyright (c) Microsoft Corporation. All rights reserved.

Licensed under the MIT License. See LICENSE⁠.

Tag Summary

No tags have been pushed to this repository yet.