Containerlab' ties to docker are quite substantial. Basically, containerlab assumes that users have Docker runtime installed to launch containerized labs.
But docker is not the only runtime that can be used to launch containers. Containerd, Podman and a few other alternative high level runtimes have been available for quite a while.
In containerlab 0.23.0 we add beta support for Podman runtime, thanks to @LimeHat contribution!
Why podman? Well, a few reasons:
- Podman offers the most similar experience to Docker while not using docker at all; one can make an alias
podman->dockerand use the same docker-cli commands with the podman runtime.
- It is easier to install and sometimes comes as a default choice on redhat based distributions.
- Supporting an alternative runtime can make containerlab usable on systems which can't have docker installed for various reasons.
- And of course, it is fun to add a runtime which is not docker :D
All in all, we encourage you to test podman runtime if it is of interest to you. Note that not every containerlab feature is supported with podman yet, but the basics are all there.
When you install podman, make sure to enable the podman service for the API to work:
and then you can use containerlab as per usual with just a flag enabling podman runtime:
- now whenever users decide to select an existing bridge as a backend for docker network, containerlab will check if the bridge has been already addressed and use the gateway information based on that. Read more about this new feature here.
- new community posts.