Dev containers for Go, Rust, TypeScript, and Python projects with ZSH, Starship, and more...
4.0K
A modern developer-friendly environment optimized for containers, VS Code Remote Containers, and GitHub Codespaces.
git, gpg, curl, wget, etc.docker.sock ready for volume mount
This image is compatible with VS Code Remote Containersā , enabling a full development experience using a containerized environment.
.devcontainer/devcontainer.json:{
"name": "codespaces",
"image": "ealen/codespaces",
"extensions": [
"golang.go",
"dbaeumer.vscode-eslint",
"oouo-diogo-perdigao.docthis",
"bungcip.better-toml",
"redhat.vscode-yaml",
"yzhang.markdown-all-in-one",
"editorconfig.editorconfig",
"gruntfuggly.todo-tree",
"eamodio.gitlens",
"naumovs.color-highlight",
"vscode-icons-team.vscode-icons",
"ms-azuretools.vscode-docker"
],
"settings": {
"workbench.iconTheme": "vscode-icons",
"editor.fontFamily": "Consolas, 'Courier New', monospace, hack, 'Hack Nerd Font Mono'",
"terminal.integrated.fontFamily": "Consolas, 'Hack Nerd Font Mono'",
"terminal.integrated.fontSize": 14,
"files.autoSave": "onFocusChange",
"editor.tabSize": 2,
"eslint.format.enable": true,
},
"mounts": [
"source=/home/YOUR_USER/.ssh,target=/home/ubuntu/.ssh,type=bind,readonly",
"source=/home/YOUR_USER/.gnupg,target=/home/ubuntu/.gnupg,type=bind,readonly",
"source=/var/run/docker.sock,target=/var/run/docker.sock,type=bind"
]
}
š” You must install a Nerd Font such as Hack Nerd Font Monoā

You can run the image without VS Code using standard Docker commands.
Example: Run with persistent volumes and access to Docker
docker run -it --rm \
-v ~/.ssh:/home/ubuntu/.ssh:ro \
-v ~/.gnupg:/home/ubuntu/.gnupg:ro \
-v /var/run/docker.sock:/var/run/docker.sock \
-v $(pwd):/workspace \
-e PUID=$(id -u) \
-e PGID=$(id -g) \
-w /workspace \
ealen/codespaces
You can now launch nvim from inside the container, and work on your project directly from the mounted volume.
š” Note: The Codespaces Docker image is also available on GitHub Container Registry.
If your company restricts access to docker.io, you can use the GitHub-hosted image instead by replacing ealen/codespaces with ghcr.io/ealenn/codespaces.
alias codespaces='docker run -it --rm \
-v "$HOME/.ssh:/home/ubuntu/.ssh:ro" \
-v "$HOME/.gnupg:/home/ubuntu/.gnupg:ro" \
-v "/var/run/docker.sock:/var/run/docker.sock" \
-v "$PWD:/workspace" \
-w /workspace \
ghcr.io/ealenn/codespaces'
This image is fully compatible with GitHub Codespacesā !
To use:
That's it! You'll get a fully functional container with Docker, ZSH, Starship, Go, Rust, Node, and Python already configured.
You can find a working example inside the example/ā folder.
Content type
Image
Digest
sha256:0987d20faā¦
Size
1.6 GB
Last updated
over 1 year ago
docker pull ealen/codespaces