What is Docker and how does it help DevOps teams?
Docker has become one of the new buzzwords in IT over the past few years. It is similar in nature to virtual machine technology but takes things a step further and allows organizations the ability to deploy applications to production or other environments in a clean and streamlined way. All of that sounds great but what exactly is Docker?
What Docker IS
Docker is a tool designed to make it easier to create, deploy, and run applications by using containers. Containers allow a developer to package up an application with all of the parts it needs, such as libraries and other dependencies, and ship it all out as one package.
Docker lets you create manageable containers. Containers aren't anything new, but managing them at scale has been a challenge, and that's what Docker is designed to do. Adding management to containers means that companies and service providers can scale up their deployments faster and with less effort by adding containers onto a base operating system. It shares parts of the core OS, but keeps each container isolated.
Key Docker terms to remember:
1. A Docker container image is a lightweight, standalone, executable package of software that includes everything needed to run an application: code, runtime, system tools, system libraries and settings.
2. Container images become containers at runtime and in the case of Docker containers - images become containers when they run on Docker Engine.
Docker containers that run on Docker Engine are:
Standard: Docker created the industry standard for containers, so they could be portable anywhere
Lightweight: Containers share the machine’s OS system kernel and therefore do not require an OS per application, driving higher server efficiencies and reducing server and licensing costs
Secure: Applications are safer in containers and Docker provides the strongest default isolation capabilities in the industry
3. Docker Engine creates, ships and runs docker containers deployable on a physical or virtual machine.
4. Docker Registry is a storage and distribution service for your docker images.
5. Docker has a marketplace called Dockerhub to share containers that consist of different applications and services, this is similar to the Amazon Machine Images in the AWS marketplace that you can use as the basis to set up an EC2 instance on Amazon Web Services. In another post, we will discuss ways we can run Docker in our various cloud computing environments.