When we started experimenting with Docker,
its environment was pretty new: private registries weren’t en vogue
and the DockerHub seemed to be the only decent alternative to store
images and build your delivery pipeline on, even though it could take
up to 15 minutes to get a simple image pushed to S3 from the Hub.
We wanted a cheap, reliable, fast build tool that could fit our
delivery pipeline: we wanted our code to seamlessly go from an
engineer’s machine to production; we wanted to build containers
in seconds; we wanted stability and a (almost) zero-configuration
At the end of it, we wrote a build system for containers that goes
Open-Source today: in this post we are going to look at the reasons
behind it, how it works (for us), how it can work (for you) and
what are our plans for the future.
Using OS X for development, or any other os apart from Linux, sometimes means that you have to find a workaround to make things work smoothly. This happens also with Docker.
OS X can’t natively run Docker containers, so you might want to use a virtual machine.
It’s true that there are alternatives like boot2docker, but there are some situations (more on that in a future post) where it is not enough.
At Namshi instead of using Virtualbox/boot2docker, we chose to use the more reliable and stable Vmware fusion. From our experience, it is actually better in terms of memory performance and sharing directories (compared to virtualbox 4, we will see if the brand new vbox 5 is better).
Just like Virtualbox, Vmware Fusion is able to handle a virtual machine in headless mode (with a little bit of shell fu). Headless mode is a way to handle (create, start, stop) a virtual machine by just interacting from the command line. So you don’t need to interact with the UI. Everything is hidden, even the application window. It just works.
We were looking for a way to run the virtual machine in headless mode, just because once you start and access it with ssh, you don’t need to bother about anything else. Sometimes leaving the window open without any interaction may cause some performance issues with the vm. Also, in Headless mode, your desktop doesn’t consume extra memory.