While server virtualization technology seems to have been around for ages, container technology as popularized by Docker still seems to be in its infancy.
So it's quite a surprise to note that the Docker project recently celebrated its third birthday. Can Docker really be that old? How time flies!
Well, maybe it's not such a surprise when you check out the Docker scene: it's getting increasingly sophisticated, and new container management systems like Rancher and ContainerX seem to be launching almost every week.
And it's not just the backend infrastructure that's expanding: it's also changing rapidly at the coalface where developers actually interact with Docker.
The latest innovation is the launch – albeit in limited-availability beta – of Docker for Mac and Docker for Windows. Patrick Chanezon, a member of Docker's technical staff, describes the new software as "an integrated, easy-to-deploy environment for building, assembling and shipping applications from Mac or Windows."
The Logic Behind Docker for Windows and Docker for Mac
The point of Docker for Windows and Docker for Mac is to make it as easy as possible for devs to strut their stuff on their laptops and other development machines with Docker. In a few years' time people will probably be amazed that these two products didn't exist earlier.
That's because up until now if you wanted to use Docker on Mac or Windows it was quite a tedious and inefficient process.
You had to first download and then install Docker Toolbox, and then set up Docker Machine to run VirtualBox virtual machines. And let's not forget that running VirtualBox requires a fair amount of system resources.
The new releases make it easier for devs because you can run the Docker engine in an Alpine Linux distro on top of an xhyve VM on OS X, or on a Hyper-V hypervisor-based VM on Windows. The VM, whichever its flavor, is managed by the Docker application.
Because this leverages native OS capabilities, Docker for Mac and Docker for Windows will offer much better performance and reliability.
What's more, you don't need to use Docker Machine to run a virtual machine, says Mano Marks, Docker's developer relations director.
There are plenty of reasons to like Docker for Windows or Mac.
Once you've installed Docker, mounted volumes will automatically notify Docker when a file has changed.
This means you can build your development environment in a container and edit your app in the volumes you are mounting. Changes to the files will automatically be reflected in your running app so you won't have to build your images and containers just to test them out, Marks says.
Ultimately, this enables you to develop apps without needing to have a specific runtime or framework on your machine. Yup, you read that right.
So you can create a Node.js app without having Node installed on your machine, or a Java app without having downloaded Java.
Patrick Chanezon adds that Docker for Mac is a true Mac application and Docker for Windows is a true Windows one, with each including a native user interface and auto-update capability. And Docker command line, Docker Compose, and Docker Notary command line all come bundled with them.
A key part of Docker's strategy for world domination is to woo developers, and Docker for Mac and Docker for Windows is its latest tactic for doing so.
For that reason alone these two offerings are worth a closer look. And if you want to do exactly that, you can sign up for the limited availability beta at https://beta.docker.com/.
Paul Rubens is a technology journalist and contributor to ServerWatch, EnterpriseNetworkingPlanet and EnterpriseMobileToday. He has also covered technology for international newspapers and magazines including The Economist and The Financial Times since 1991.