Docker is an open-source platform that automates the deployment of applications inside lightweight, portable containers. It allows developers to package an application and its dependencies into a container, ensuring that it runs the same way regardless of the environment, whether it’s on a developer’s laptop, a server, or in the cloud.
Docker Compose
Compose is a tool for defining and running multi-container Docker applications. You use a YAML file to configure your application’s services, networks, and volumes, then run everything with a single command (docker-compose up
).
Docker Swarm & Kubernetes
These are orchestration tools for managing multiple Docker containers across clusters of machines. They help in scaling, distributing, and managing containers in a production environment.
Dockerfile
A Dockerfile is a script that contains a series of instructions on how to build a Docker image. It defines the base image (e.g., an OS or programming language environment), and the steps to configure and package your application.
Docker Containers
Containers are lightweight, standalone, executable packages that include everything an application needs to run: the code, runtime, libraries, environment variables, and system tools. They are isolated from the underlying system but share the same OS kernel.
Docker Images
An image is a read-only template used to create Docker containers. Images are built from a set of instructions written in a Dockerfile, which specifies the application’s environment and how it should be built.
Docker Hub
This is a cloud-based repository where Docker users can share container images. You can pull pre-built images from Docker Hub or push your own images to share them with others.
Docker Engine
The Docker Engine is the core software that enables all Docker functionality. It runs on the host machine and allows for building and running containers.