by Melissa Palmer
Docker was one of the most talked about topics of 2014, and the momentum will carry into 2015. Founded in 2013, it has quickly become one of the most active projects on GitHub, with over 12,000 commits and 700 contributors.
What is Docker?
Docker is an OpenSource application environment. It uses a concept called containers, which can run on top of any operating system, any hypervisor, or any hardware. It builds upon the legacy LXC (Linux Containers), which offered a limited version of what Docker is able to do today. This means you can have developers coding on MacBooks, and testers working on Windows laptops without worrying about any compatibility issues. It can provide completely standard environments across any hardware or operating system types. Besides running on different hardware platforms within your data center, Docker also has the ability to allow applications to be portable into the cloud, again, independent of operating system or hardware. Cloud environments like Google Cloud Platform, Amazon EC2, and Microsoft Azure all support Docker, giving organizations even more flexibility when choosing a cloud platform.
Besides the ability to deploy applications across platforms, they can quickly, easily, and consistently be deployed. As organizations shift to focus on their application lifecycles, and look at the DevOps model, Docker makes things easier. Instead of having to worry about application upgrades, and how things will react, containers can simply be replaced by newer versions. Continuous Integration and Continuous Delivery also become easier to manage by combining the power of a continuous integration server such as Jenkins and the ease and consistency of Docker.
The Docker Engine is the brains of the operation. It can be installed in a number of ways, for example, on bare metal, or within a virtual machine. Docker runs on top of an operating system, and abstracts the application environment from there. Once choice for many enterprises is Red Hat Enterprise Linux 7, which shipped with Docker, and provides the enterprise level support many organizations implementing Docker often seek. It allows existing RedHat users to easily make the move, with a consistent operating system. Another popular choice is CoreOS. Core OS is designed to be an extremely lightweight and massively scalable Linux solution, which also provides an enterprise support model. Core OS comes with Docker built in, and a cluster management package called Fleet to enable scale out of your Docker applications.
Getting Started With Docker
The quickest and easiest way to get started with Docker is to use something called Boot2docker. Boot2docker is powered by a Linux distribution called Tiny Core Linux, which runs directly from your computer’s memory. Boot2docker is available for Windows and Mac OS X, so no matter what operating system you’re using, you can quickly get started and give Docker a try on your own.
After downloading Boot2Docker for either Windows or Mac OS X, it gets installed just like any other application. Launch the installer from either Windows or Mac OS X, and simply follow the prompts. Boot2docker also provides installation documentation, as well as videos to assist with the simple installation.
After installing Docker, it can be launched from your Windows Desktop, or Programs menu, and Applications on Mac OS X. You will see a Docker startup sequence such as this:
To test out your install, start with typing docker run hello-world. You will see output similar to the following:
This means Docker is ready to go! Docker connected to something called the Docker Hub, and downloaded the hello-world image. If you type docker images, you will see what images you currently have in your Docker library.
Docker Hub contains many Docker images that are ready to go, including 100 official images, and thousands of images that have been submitted by developers and users, often including specific tweaks. Official images, such as Ubuntu, Jenkins, Python, and Rails are images that have been provided by their respective organizations, and often contain documentation on how to get started running the image and building the Dockerfile. Dockerfiles are similar to VMX files in VMware, they are files that contain information on how the container is to be built.
Docker has gained a lot of traction in the last year, and is very easy to set up on a laptop or desktop computer. Because it has quickly become so popular, now is a great time for administrators to take a look at it, and see if the technology is a fit for their environment.