Devcontainers
I first learned about devpod through Bluefin. It feels like only a few months ago but it’s probably been longer. I was excited to try it out because some teams I worked on were using GitHub Codespaces and Gitpod. I guess I was a bit slow to come around to the whole cloud native and containerization craze but the idea of devcontainers made a lot of sense to me (even if they originated at Microsoft). I first tried one out with a Crystal devcontainer template that I put together.
There were two issues with my adoption of devpod and devcontainers at the time. First, while it was included in Bluefin, devpod wasn’t quite ready to use. Second, the zed editor didn’t have support for devcontainers at the time. There may have been extensions but I was unaware of any. The vscode folks were ahead on this one (just like with side-by-side git diffs).
Not too long ago, devpod was stable enough to use on Bluefin so I started using it pretty regularly. I am
certainly not using it to its full potential. In reality, I’m mostly using it for its --recreate option
and because I think it’s a neat project. I’d like to try using remote servers with it at some point but my
laptop has enough horsepower for now.
Both tools are a little bumpy for me but they don’t quite get in the way of my work. I also have some concerns that devpod may end up ceasing development in the near future. My only basis for that was a brief lag in development a while back. It could also ultimately go commercial and then enshittify. Who knows…
Here are a few notes about my experiences and observations with both:
devpod
- Super convenient CLI (see the aforementioned
--recreateoption) and a pretty useful GUI - I have had some issues with it starting
depends_onservices fromdocker-compose. I’m unsure if this is a me problem - Has native podman support (big win for me, zed requires the docker symlink)
zed native devcontainers
- Seems to be available since
0.222 stableback in January, so it’s pretty nascent - I don’t think that
forwardPortsindevcontainer.jsonis supported (maybe onlyappPort) - I have to manually shut down and rebuild my containers
- There don’t seem to be any per-container host extension options but maybe this isn’t an issue
I don’t know how I’ll be using devcontainers in the future but I’ll probably keep using them as long as possible. They’ve really helped me make reproducible dev envs and isolate really old codebases that I often have to work in. I’d like to avoid having to migrate to vscode. I’m really enjoying zed at the moment.
#development #devcontainer #devpod #bluefin #docker #podman #containers #zed #vscode