Beyond CI/CD: Unusual Docker Container Use Cases
Docker is a tremendously versatile technology. Docker use cases are not limited to the obvious. Keep reading for a look at some unusual examples of Docker usage that go continuous delivery.
The typical use case for Docker centers on deploying a server app. Docker containers became popular with DevOps folks largely because they provide a great deal of consistency across the delivery chain. When you need to write, test, deploy and update an app hosted on a server, Docker containers allow you to do it while maintaining a consistent environment across all stages.
Unusual Docker Use Cases
But Docker’s usefulness is by no means limited to server app deployment. Consider the following examples of innovative Docker use cases:
- Installing end-user applications. Want to save users the trouble of downloading an installation package and fighting dependency hell to get it installed? Ship your app in a container. While Docker is typically used to deploy apps that run on servers and are set up by system admins, there is no reason (beyond the fact that running a container requires some technical know-how) why containers can’t be used to deliver software that end users install themselves, too.
- Run a private web browser. If you’re worried about maintaining your privacy while browsing the web, you can run your browser in a Docker container and shut the container down when you’re down. This approach provides a level of isolation between your browser and the host system, reducing security risks. It also ensures that any browsing data you generated disappears forever when you shut the container down.
- Building a private cloud. Who needs OpenStack when you have Docker? As long as your users have the skills required to work with containers, you can turn a server cluster into a private cloud where anyone can spin up applications quickly using Docker. Some people are already building private clouds with Docker, but this remains a less common use case.
- Testing out Linux distributions. If you’re like me, you spend an unhealthy amount of time playing around with obscure Linux distributions, just to see what they’re like. Usually, you have to run live instances of the distributions on real hardware or in a virtual machine to test them. But if the distributors made their systems available as container images, you could test use Docker to give a distribution a test drive, with less fuss than normal.
- Running multiple versions of an application. On most operating systems, it’s hard to have more than one version of the same app installed at the same time, due to the way application configuration files and data are stored. While there are solutions for this (such as the alternatives utility on Linux), they tend to be clunky. Docker offers a better way to run multiple versions of the same app. All you need is to pull and run the container images for the versions you want.
The list could go on. The number of potential Docker use cases is virtually limitless. If you thought Docker was just for doing CI/CD, think again.