Develop Go based applications. Includes appropriate runtime args, Go, common tools, extensions, and dependencies.
| Metadata | Value |
|---|---|
| Contributors | The VS Code Team |
| Categories | Core, Languages |
| Definition type | Dockerfile |
| Published images | mcr.microsoft.com/devcontainers/go |
| Available image variants | 1 / 1-trixie, 1.26 / 1.26-trixie, 1.25 / 1.25-bookworm, 1-bookworm (full list) |
| Published image architecture(s) | x86-64, arm64/aarch64 for trixie, bookworm variants |
| Container host OS support | Linux, macOS, Windows |
| Container OS | Debian |
| Languages, platforms | Go |
See 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/go(latest)mcr.microsoft.com/devcontainers/go:1(or1-trixie,1-bookwormto pin to an OS version)mcr.microsoft.com/devcontainers/go:1.26(or1.26-trixie,1.26-bookwormto pin to an OS version)mcr.microsoft.com/devcontainers/go:1.25(or1.25-trixie,1.25-bookwormto 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/go:2-1.26(or2-1.26-trixie,2-1.26-bookworm)mcr.microsoft.com/devcontainers/go:2.0-1.26(or2.0-1.26-trixie,2.0-1.26-bookworm)mcr.microsoft.com/devcontainers/go:2.0.8-1.26(or2.0.8-1.26-trixie,2.0.8-1.26-bookworm)
However, we only do security patching on the latest non-breaking, in support versions of images (e.g. 2-1.26). 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.
Given JavaScript front-end web client code written for use in conjunction with a Go back-end often requires the use of Node.js-based utilities to build, 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"
}
}
}Copyright (c) Microsoft Corporation. All rights reserved.
Licensed under the MIT License. See LICENSE.