Getting Started with Docker Engine
Docker enables developers to package applications with all of their dependencies into standardized units called containers.
Docker Architecture Overview
Before deploying containers, it helps to understand how the Docker daemon interacts with the underlying Linux kernel:
Core Components
- Host Linux Kernel: Manages underlying hardware resources using cgroups and namespaces.
- Docker Daemon (dockerd): Listens for API requests and manages Docker objects.
- Containers: Isolated, lightweight runtimes containing your application code, system libraries, and dependencies.
Step 1: Verify Docker Daemon Status
Verify Docker Daemon Status
DaemonVerify that the Docker service is active, running, and enabled for system boot:
sudo systemctl status docker❯ View Expected Console Output
● docker.service - Docker Application Container Engine
Loaded: loaded (/lib/systemd/system/docker.service; enabled; vendor preset: enabled)
Active: active (running) since Fri 2026-10-02 12:00:00 CEST; 1h ago
Step 2: Run a Test Container
Run a Test Web Server Container
ExecutionLaunch a lightweight Nginx web server in detached mode, bound to localhost so this local test is not published on every host interface:
docker run -d -p 127.0.0.1:8080:80 --name test-web nginx:alpine❯ View Expected Console Output
Unable to find image ‘nginx:alpine’ locally
alpine: Pulling from library/nginx
Digest: sha256:45b23d0644fc273b43f02b3d5232ff95b52c0cc4720c704a6e7304e1fa849f53
Status: Downloaded newer image for nginx:alpine
e8a609d6b79c3d4f107f9c8d19a27c037920ab4859a85703fba8e59275a59a72
Step 3: Manage Container Lifecycle
Inspect & Terminate Containers
LifecycleInspect currently active containers, stop running workloads gracefully, and prune the test container:
# List running containersdocker ps
# Stop and clean up containerdocker stop test-webdocker rm test-web❯ View Expected Console Output
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
e8a609d6b79c nginx:alpine “/docker-entrypoint.…” 2 minutes ago Up 2 minutes 127.0.0.1:8080->80/tcp test-web
test-web
test-web