Dev Docker Image
A comprehensive, self-contained Docker image with multiple programming languages and development tools, ready for portable development environments.
- Rust - Compiler, Cargo, rustfmt, clippy, rust-analyzer, cargo-watch, cargo-audit, cargo-expand, cargo-udeps, cargo-tree, cargo-outdated
- Go - Go 1.21.6 with golangci-lint, goimports, gotests
- Python - Python 3 with black, flake8, mypy, pytest, pylint, autopep8, ipython, ipdb
- Node.js - Node.js LTS v20.x with npm, yarn, pnpm, npm-check-updates
- C/C++ - GCC, G++, Clang, clang-format, clang-tidy, CMake, Make, pkg-config
- Version Control: Git
- Build Tools: Make, CMake
- Editors: Vim, Nano
- System Tools: Bash, Zsh, Fish, htop, tree
- Utilities: curl, wget, jq, ping, net-tools
make build
# or
./build.sh
# or
docker build -t dev-environment:latest .make run
# or
docker-compose upmake testmake push REGISTRY=your-registry.com
# or
./build.sh --registry your-registry.com --pushcd workspace
cargo new my_project
cd my_project
cargo runcd workspace
mkdir my_project && cd my_project
go mod init example.com/my_project
go run main.gocd workspace
npm init -y
yarn add expresscd workspace
python3 -m venv venv
source venv/bin/activate
pip install requestsEdit docker-compose.yml to customize volume mounts for:
- SSH keys
- Git config
- AWS credentials
- GPG keys
Run the verification script inside the container:
./verify.shOr use the Makefile:
make testmake build- Build the Docker imagemake push- Build and push to registrymake run- Run container interactivelymake shell- Start a shell in the containermake test- Test all installed toolsmake clean- Remove the Docker imagemake help- Show all available targets
- Container runs as non-root user (
developer) - All installations done in user space where possible
- HTTPS certificates included
- Ubuntu 22.04 base image
- All tools installed and ready to use
- Workspace mounted at
/home/developer/workspace - Supports Bash, Zsh, and Fish shells
- All development tools pre-installed and verified