The Ultimate Docker Handbook
The Ultimate Docker Handbook
The Ultimate Docker Handbook
1. Docker Image:
2. Docker Container:
3. Docker Hub:
A cloud-based registry service where Docker users and partners create, test,
store, and distribute container images.
4. Dockerfile:
A text document that contains all the commands a user could call on the
command line to assemble an image.
5. Docker Compose:
6. Docker Networking:
● Bridge:
● Host:
● Overlay:
Networks connect multiple Docker daemons together and enable swarm services
to communicate with each other.
7. Docker Volumes:
● Services:
● Tasks:
● Worker nodes:
Nodes that receive and execute tasks dispatched from manager nodes.
● Manager nodes:
The only nodes that can execute Docker commands, or authorize other nodes to
join the swarm.
Manager nodes use the Raft Consensus Algorithm to agree on task scheduling
and status updates.
● Services scaling:
In Docker Swarm mode you can scale your services up or down for optimal
resource utilization.
Provides the ability to use digital signatures for data sent to and received
from remote Docker registries.
● Docker Secrets:
Allows you to manage sensitive data, such as passwords, SSH private keys, SSL
certificates, and other data.
● Docker Hub:
Provides the ability to use digital signatures for data sent to and received
from remote Docker registries.
● Docker in Jenkins:
● Docker in CircleCI:
Azure DevOps can build, push, or run Docker images, or run a Docker command.
● Docker on AWS:
AWS provides services like Amazon Elastic Container Service (ECS) and AWS
Fargate for running Docker containers.
● Docker on Azure:
Azure provides Azure Kubernetes Service (AKS) for running Docker containers.
● Container immutability:
The idea that you never update a running container, instead, you should
always create a new one.
● Use .dockerignore:
Prevents sending unnecessary files to the daemon when building images.
● Service discovery:
Docker Swarm Mode has a built-in DNS server that other containers can use to
resolve the service name to an IP address.
● Service scaling:
● Load balancing:
Docker has a built-in load balancer that can distribute network connections
to all instances of a replicated service.
Docker Swarm Mode has a built-in routing mesh that provides secure
communication between services.
● Storage Plugins:
● Network Plugins:
● Authorization Plugins:
● Docker SDK:
SDKs for Go and Python, built on top of the Docker REST API.
Ideal for individual developers and small teams looking to get started with
Docker and experimenting with container-based apps.
Designed for enterprise development and IT teams who build, ship, and run
business-critical applications in production at scale.
● Docker Engine:
A client-server application with three major components: a server, a REST
API, and a command-line interface (CLI).
● Docker Daemon:
Listens for Docker API requests and manages Docker objects such as images,
containers, networks, and volumes.
● Docker Client:
The primary way that many Docker users interact with Docker. When you use
commands such as docker run, the client sends these commands to dockerd,
which carries them out.
● Docker Containers:
A runnable instance of an image. You can create, start, stop, move, or delete
a container using the Docker API or CLI.
● Docker Services:
Allows you to scale containers across multiple Docker daemons, which all work
together as a swarm with multiple managers and workers.