Docker

Docker is an open platform for developing, shipping, and running applications. Docker enables you to separate your applications from your infrastructure so you can deliver software quickly. With Docker, you can manage your infrastructure in the same ways you manage your applications.

Developers can create containers without Docker, but the platform makes it easier, simpler, and safer to build, deploy and manage containers. Docker is essentially a toolkit that enables developers to build, deploy, run, update, and stop containers using simple commands and work-saving automation through a single API.

Docker

Fast, consistent delivery of your applications

Responsive deployment and scaling,

Running more workloads on the same hardware.

Why Docker?


Improved—and seamless—portability

While LXC containers often reference machine-specific configurations, Docker containers run without modification across any desktop.

Even lighter weight and more granular updates

With LXC, multiple processes can be combined within a single container. With Docker containers, only one process can run in each container.

Automated container creation

Docker can automatically build a container based on application source code.

Container versioning

Docker can automatically build a container based on application source code.

Container reuse

Existing containers can be used as base images—essentially like templates for building new containers.

Shared container libraries

Developers can access an open-source registry containing thousands of user-contributed containers.

Tools and Terms


Some of the tools and terminology you'll encounter when using Docker includes:



Docker File
Docker File

Every Docker container starts with a simple text file containing instructions for how to build the Docker container image. DockerFile automates the process of Docker image creation.

Docker_Images
Docker Images

Docker images contain executable application source code as well as all the tools, libraries, and dependencies that the application code needs to run as a container.

Docker Container
Docker Containers

Docker containers are the live, running instances of Docker images. While Docker images are read-only files, containers are live, ephemeral, executable content.

Docker Hub
Docker Hub

Docker Hub is the public repository of Docker images that calls itself the “world's largest library and community for container images.” It holds over 100,000 container images sourced from open-source projects.

Docker Registry
Docker Registry

A Docker registry is a scalable open-source storage and distribution system for docker images. The registry enables you to track image versions in repositories, using tagging for identification.

Docker Compose
Docker Compose

Docker Compose creates a YAML file that specifies which services are included in the application and can deploy and run containers with a single command.