Replacing Docker with Podman
If you work in a business with more than 250 employees and use Docker Desktop, you’re probably aware that the free use of Docker is ending on January 31 (gasp Monday!).
The change to the subscription was announced back in August. Plenty of time to look for alternatives so you would think I’m all set by now right? Well that’s true, but I only started my search yesterday — which is good news because it means the transition was relatively easy, tho with some caveats.
Like for many others, Podman was the de-facto replacement for Docker, since you can essentially drop-in the
podman command where ever you use
docker, and it can almost do everything Docker does.
There are 2 areas I found where Podman is lacking compared to Docker:
- Docker compose. Well Podman does have a solution for running compose workloads since their 3.0 release, and prior to that there are projects like Podman Compose to fill in the gap. However, when I tried these solutions late last year, there were still some cases that were not handled well, so ymmv.
- If you develop on Mac, bind mounts do not work. There are active discussions about the support (https://github.com/containers/podman/issues/8016) but it’s just not quite there yet.
Ultimately, Podman runs best on Linux. In my case, I have access to a Linux VM so naturally that’s where I moved my workspace to. But I still want to develop from my Mac and to do that, I use the excellent remote development capabilities in VS Code to connect to the VM.
Developing on Remote Machines using SSH and Visual Studio Code
The Visual Studio Code Remote - SSH extension allows you to open a remote folder on any remote machine, virtual…
I’m happy to report that my new development setup is working quite seamlessly: code edits are synced to the VM,
git integration works as before and opening a terminal automatically opens a SSH session to the VM.
Phew, crisis averted and work goes on come Monday.