Skip to content

qdm12/godevcontainer

Repository files navigation

Go Dev Container

Ultimate Go development container for Visual Studio Code

godevcontainer

Alpine Debian

dockeri.co

Last Docker tag Latest size

Last release Last release size GitHub last release date Commits since release

GitHub last commit GitHub commit activity GitHub closed PRs GitHub issues GitHub closed issues

Lines of code Code size GitHub repo size

Visitors count

Features

  • Compatible with amd64, 386, arm64, armv6 and armv7 CPUs
  • qmcgaw/godevcontainer:alpine and qmcgaw/godevcontainer
    • Based on Alpine 3.19 (size of 936MB)
  • qmcgaw/godevcontainer:debian - beware it has CVE because of outdated packages
    • Based on Debian Buster Slim (size of 1.24GB)
  • Based on qmcgaw/basedevcontainer
    • Based on either Alpine or Debian
    • Minimal custom terminal and packages
    • See more features
  • Go 1.22 code obtained from the latest tagged Golang Docker image
  • Go tooling integrating with VS code, all cross built statically from source at the binpot:
  • Terminal Go tools
    • mockgen to generate mocks
    • mockery to generate mocks for testify/mock
  • Cross platform
    • Easily bind mount your SSH keys to use with git
    • Manage your host Docker from within the dev container, more details at qmcgaw/basedevcontainer
  • Extensible with docker-compose.yml
  • Comes with extra Go binary tools for a few extra MBs: kubectl, kubectx, kubens, stern and helm

Requirements

Setup for a project

  1. Setup your configuration files
    • With style 💯

      docker run -it --rm -v "/yourrepopath:/repository" qmcgaw/devtainr:v0.2.0 -dev go -path /repository -name projectname

      Or use the built binary

    • Or manually: download this repository and put the .devcontainer directory in your project.

  2. If you have a .vscode/settings.json, eventually move the settings to .devcontainer/devcontainer.json in the "settings" section as .vscode/settings.json take precedence over the settings defined in .devcontainer/devcontainer.json.
  3. Open the command palette in Visual Studio Code (CTRL+SHIFT+P) and select Remote-Containers: Open Folder in Container... and choose your project directory

Customization

See the .devcontainer/README.md document in your repository.

TODOs

License

This repository is under an MIT license unless indicated otherwise.