But what exactly is a container and what does Docker have to do with them? Let me explain. And my container deployment tool of choice is Docker. Think about it this way. Say, for example, you want to install WordPress. To do this the traditional way, you’d have to first install a full LAMP (Linux Apache MySQL PHP) stack, create the database, and then install WordPress on top of that. Or, you could deploy WordPress as a container with a single command or by building a much more complex installation using what’s called a Dockerfile (we’ll talk about that later on in the series). That single command (such as docker run -d -p 80:80 wordpress:latest) makes it possible for you to quickly deploy WordPress in seconds. And that’s really the heart of containers…to greatly simplify the deployment of apps and services and make them portable (so they can be installed on any platform that supports the Docker engine). Almost all desktop and server operating systems support the Docker Engine, such as Linux, macOS, and Windows, and even make it simple to install and use the engine.  For the average user, think of Docker Engine as the tool you use to launch your containers. It’s very complex under the hood, but on the surface, you should find it fairly simple (even on the command line level). But there are other reasons to use containers. For example, containers make it easier to scale an application to meet demand. Say you deploy WordPress to a Docker Swarm (a cluster of Docker machines that work together). With that deployment, you could easily scale WordPress from a single node to multiple nodes to better handle higher demands placed by users.  Another great reason to use containers is for development. Let’s stick with our WordPress example. Say you want to build a new WordPress site but you first want to test it on your local network before unleashing it on the public. You could quickly deploy WordPress as a container, get creative with the site, and (once you know it’s ready) then deploy it for the public. Containers are absolutely great for development and testing purposes.  Although containers tend to be mostly used by businesses, I’ve found them to be incredibly helpful as a means to deploy very helpful applications and services on my LAN (for use by my family even). At the moment, I have containers deployed for invoicing, collaboration, productivity, and communication on my LAN. Each of these platforms was deployed quickly and easily, thanks to containers. In this series, I’m going to walk you through the installation of Docker and how to use both the command line and GUI tools to deploy containers. As I’ve done with this explanation, I’ll be approaching this as if you have zero experience with the technology. One thing to keep in mind is that the first few articles will focus on using Docker from the command line, which means Linux. So, to prepare for that you’ll want to get either a Linux Desktop or Server up and running (preferably of the Ubuntu flavor), so you’re ready to go. Until then, get ready to start exploring the world of containers.