My First Steps with DevPod and Dev Containers
In the past few days, I started learning more about Dev Containers and how they can make development environments easier to manage. I explored DevPod, which is a tool that helps you quickly set up and connect to development containers.
The main benefit I found is that it makes projects portable and consistent. You can open the same environment on any machine without worrying about missing dependencies or local setup problems.
Here is a short guide of what I learned:
DevPod Setup & Usage
1. Install DevPod CLI
Download and install:
curl -L -o devpod "https://github.com/loft-sh/devpod/releases/latest/download/devpod-linux-amd64" \
&& sudo install -c -m 0755 devpod /usr/local/bin \
&& rm -f devpod
Check installation:
devpod version
2. Configure IDE
Use no IDE:
devpod ide use none
Check IDEs:
devpod ide list
3. Add Provider
List providers:
devpod provider list
Add Docker:
devpod provider add docker
4. Create Dev Container
Start a container in the project:
devpod up .
Connect with SSH:
devpod ssh
5. VSCode Integration
- Install Dev Containers extension
- Install Docker Engine
- Reopen project in container
6. Example Configurations
Minimal:
{
"name": "Python 3",
"image": "mcr.microsoft.com/devcontainers/python:1-3.12-bullseye"
}
Advanced with features and environment variables:
{
"name": "Python 3",
"image": "mcr.microsoft.com/devcontainers/python:1-3.12-bullseye",
"features": {
"ghcr.io/devcontainers/features/azure-cli:1": {},
"ghcr.io/devcontainers/features/github-cli:1": {},
"ghcr.io/flexwie/devcontainer-features/op:1": {}
},
"remoteEnv": {
"MY_VARIABLE": "Reza"
}
}
7. Use Dotfiles
devpod up . --ide none --dotfiles git@github.com:xxxx/dotfiles-demo
With this setup, I now have a complete workflow:
Install → Configure IDE & Provider → Create Containers → Connect → Customize with Dotfiles