In what appears to be a recurring theme (which I promise I’ll move off of soon), I’m going to spend some time talking about what Docker isn’t – Docker is not application virtualization.
I spent a good amount of time at VMware where I worked on VMware View (which begat Horizon View which begat Horizon 7), so I’m more than a bit familiar with desktop and application virtualization. And, I understand why some people, when they first hear us talk about leveraging Docker for application portability they think along the lines of App-V, XenApp or ThinApp.
Yesterday we talked about how the modern software supply chain runs on Docker, and in that post we noted that 41% of Docker users are targeting application portability as a core use case.
So there is some common conceptual ground here between these application virtualization solutions and Docker. But there are also some critical differences.
As I wrote previously, Docker is not a virtualization technology in the historical sense of the word so much as it’s an application delivery platform. Docker enables traditional monolithic applications to be delivered as a set of reusable microservices.
All of the tools I mentioned in this post are really aimed at delivering legacy Windows desktop applications. These applications are monolithic in that they contain their own GUI (vs. a web app that is accessed via a browser). By contrast,the most widely used Docker workload are multi/micro service web apps.
So, yes Docker containers does encapsulate all the code and libraries necessary to run a service. But those services are fundamentally different than the applications that are delivered via traditional application virtualization technologies.
In the end Docker is not a direct replacement for application virtualization. It’s a way to take many of the applications deployed using app virt technologies and recreate them in a manner that offers higher levels of agility, portability, and control.
Learn More about Docker
- New to Docker? Try our 10 min online tutorial
- Share images, automate builds, and more with a free Docker Hub account
- Try Docker today: Deploy one free node on Docker Cloud or trial Docker Datacenter free for 30 days.
- Read the Docker 1.11 Release Notes
- Subscribe to Docker Weekly
- Sign up for upcoming Docker Online Meetups
- Attend upcoming Docker Meetups
- Watch DockerCon EU 2015 videos
- Start contributing to Docker