Multi-language development container for VS Code, GitHub Codespaces, and other compatible environments.
This devcontainer comes with multiple versions of PHP, Node.js, Go, Deno, and Python pre-installed. Perfect for full-stack developers working across different technology stacks.
This devcontainer comes with multiple versions of PHP, Node.js, Go, Deno, and Python pre-installed. Here's how to switch between versions:
To switch between installed PHP versions (5.6, 7.0-7.4, 8.0-8.5):
# Switch to PHP 8.3
sudo a2dismod php* && sudo a2enmod php8.3
sudo update-alternatives --set php /usr/bin/php8.3
# Verify the version
php -v
To switch between Node.js versions (14, 16, 18, 20, 22, 24):
# Switch to Node.js 20
n 20
# Verify the version
node -v
To switch between Go versions (1.22.12, 1.23.12, 1.24.11, 1.25.5):
# Switch to Go 1.24.11
ln -sf /usr/local/go/versions/1.24.11/bin/go /usr/local/bin/go
ln -sf /usr/local/go/versions/1.24.11/bin/gofmt /usr/local/bin/gofmt
# Verify the version
go version
To switch between Deno versions (1.46.3, 2.6.3):
# Switch to Deno 2.6.3
ln -sf /usr/local/deno/versions/2.6.3/deno /usr/local/bin/deno
# Verify the version
deno --version
To switch between Python versions (2.7, 3.8-3.14):
# Switch to Python 3.12
pyenv global 3.12
# Verify the version
python --version
.devcontainer.json in your project:{
"image": "aminulbd/devcontainer:latest",
"customizations": {
"vscode": {
"extensions": [
"ms-python.python",
"golang.go",
"bmewburn.vscode-intelephense-client"
]
}
}
}
docker run -it --rm aminulbd/devcontainer:latest bash
services:
devcontainer:
image: aminulbd/devcontainer:latest
volumes:
- .:/workspace
working_dir: /workspace
command: sleep infinity
To build the image locally:
docker build -t devcontainer:local .
To build with specific versions:
docker build \
--build-arg PHP_VERSION=8.4 \
--build-arg NODE_VERSION=22 \
--build-arg GO_VERSION=1.24.11 \
--build-arg PYTHON_VERSION=3.12 \
-t devcontainer:local .
This image supports multiple architectures:
linux/amd64linux/arm64Pull the appropriate image for your platform:
docker pull aminulbd/devcontainer:latest
The container includes:
$HOME/.gon for Node.js version managementMIT License - see LICENSE file for details
Contributions are welcome! Please feel free to submit a Pull Request.
Content type
Image
Digest
sha256:2446f3a60…
Size
2.1 GB
Last updated
5 months ago
docker pull aminulbd/devcontainer