CermakM / godevcontainer

Golang development container for Visual Studio Code Remote Containers Development

Home Page:https://hub.docker.com/r/qmcgaw/godevcontainer

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

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, armv7 and ppc64le CPUs
  • qmcgaw/godevcontainer:alpine and qmcgaw/godevcontainer
    • Based on Alpine 3.15 (size of 881MB)
  • qmcgaw/godevcontainer:debian - beware it has CVE because of outdated packages
    • Based on Debian Buster Slim (size of 1.1GB)
  • Based on qmcgaw/basedevcontainer
    • Based on either Alpine 3.15 or Debian Buster slim
    • Minimal custom terminal and packages
    • Go 1.17 code obtained from the latest Golang Docker image
    • All Go tooling binaries built statically from source
    • See more features
  • Go tooling integrating with VS code:
  • 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 want to use SSH keys with Windows without WSL, bind mount with ~/.ssh:/tmp/.ssh:ro and a script will copy them over with the right permissions.
  3. 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.
  4. 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.

About

Golang development container for Visual Studio Code Remote Containers Development

https://hub.docker.com/r/qmcgaw/godevcontainer

License:MIT License


Languages

Language:Dockerfile 96.7%Language:Shell 3.3%