Docker: Basic Concepts
The very minimum that we need to know about it.
Docker is a platform for packaging, distributing and running applications. It allows us to package our entire application environment into what is called an image, transfer those into a shared registry and run them as Containers on virtually any computer.
Since containers run in isolated environments, we have enough security to run many applications simultaneously on a given host. Also, since Docker offers us a standardised environment, developers like us can build software on different kinds of machines and operating systems and still have them run perfectly fine.
A container image is the actual package of our application and its environment. It contains the filesystem and other metadata that will be available to the application, such as the path that should be executed when we run the image.
This is a repository that stores images, facilitating the sharing among different people, teams or even systems. After an image is built, we may push (or upload) them to the registry on one machine and pull (or download) them on another computer.
Docker containers are regular Linux Containers, created from a container image. This means that a container is a process running on the host’s operating system, though in isolation from other processes thanks to Linux kernel features.