Docker Downsides: Container Cons to Consider before Adopting Docker

Like any technology, Docker is not a silver bullet. It has its downsides, and it's important to understand them if you're considering migrating to Docker.

Christopher Tozzi, Contributing Editor

May 26, 2017

2 Min Read
Docker Downsides: Container Cons to Consider before Adopting Docker

Docker containers are massively popular — and for good reason. But like any technology, Docker is not a silver bullet. It has its downsides, and it's important to understand them if you're considering migrating to Docker.

Let me be clear that I think Docker is a great platform for many use cases. Docker containers are an excellent way to deploy microservices-based applications that are more modular and easier to manage. There are also security benefits to using containers, and containers consume system resources more efficiently.

Docker's Disadvantages

Yet Docker's not perfect. Following are disadvantages associated with Docker:

  • Containers don't run at bare-metal speeds. Containers consume resources more efficiently than virtual machines. But containers are still subject to performance overhead due to overlay networking, interfacing between containers and the host system and so on. If you want 100 percent bare-metal performance, you need to use bare metal, not containers.

  • The container ecosystem is fractured. Although the core Docker platform is open source, some container products don't work with other ones — usually due to competition between the companies that back them. For example, OpenShift, Red Hat's container-as-a-service platform, only works with the Kubernetes orchestrator.

  • Persistent data storage is complicated. By design, all of the data inside a container disappears forever when the container shuts down, unless you save it somewhere else first. There are ways to save data persistently in Docker, such as Docker Data Volumes, but this is arguably a challenge that still has yet to be addressed in a seamless way.

  • Graphical applications don't work well. Docker was designed as a solution for deploying server applications that don't require a graphical interface. While there are some creative strategies (such as X11 video forwarding) that you can use to run a GUI app inside a container, these solutions are clunky at best.

  • Not all applications benefit from containers. In general, only applications that are designed to run as a set of discreet microservices stand to gain the most from containers. Otherwise, Docker's only real benefit is that it can simplify application delivery by providing an easy packaging mechanism.

If you're considering migrating to Docker, you should keep these facts in mind. Docker isn't always the best choice for application deployment. In some cases, traditional virtual machines or bare-metal servers are better solutions. Don't let the Docker hype obscure this reality.

Read more about:

AgentsMSPsVARs/SIs

About the Author

Christopher Tozzi

Contributing Editor

Christopher Tozzi started covering the channel for The VAR Guy on a freelance basis in 2008, with an emphasis on open source, Linux, virtualization, SDN, containers, data storage and related topics. He also teaches history at a major university in Washington, D.C. He occasionally combines these interests by writing about the history of software. His book on this topic, “For Fun and Profit: A History of the Free and Open Source Software Revolution,” is forthcoming with MIT Press.

Free Newsletters for the Channel
Register for Your Free Newsletter Now

You May Also Like