Vagga is a containerization tool like Docker, Rocket, etc but with one major goal that is highly ambitious and really worth mentioning. Its goal is to be a single userspace binary without a suid bit or a daemon running as root.
However, the way it does this seems to be highly opinionated and there are some things which annoy me. Let’s go over the basics:
There is no “global vagga cache”. Every time I want to make a new project folder with an ubuntu image I have to wait the ~15 minutes it takes for Ubuntu to download on my connection (Comcast). As such I’ve been forced to use Alpine.
With Docker I can create an image
xena/lapis and have it contain all of the
stuff needed for lapis applications to run. With
Vagga I currently have to constantly reinvent the setup for this or risk
copying and pasting code everywhere
This is a huge plus. The way this all is defined is much more sane than Fig or Docker compose. It’s effortless where the Docker workflow was kinda painful. However this is a bittersweet advantage as:
Arguably this is because you need root permissions to do things like that with the IP stack in a new namespace, but really? It’s just inconvenient to have to wrap Vagga containers in Docker or the like just to be able to run things without the containers using TCP ports on the host up.
http://vagga.readthedocs.org/en/latest/network.html is interesting.
Overall, Vagga looks very interesting and I’d like to see how it turns out.
This article was posted on 2015-03-21. Facts and circumstances may have changed since publication. Please contact me before jumping to conclusions if something seems wrong or unclear.