Skip to content

Getting Started with Docker Engine

Admin
October 1, 2026
5 min read

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

  1. Host Linux Kernel: Manages underlying hardware resources using cgroups and namespaces.
  2. Docker Daemon (dockerd): Listens for API requests and manages Docker objects.
  3. Containers: Isolated, lightweight runtimes containing your application code, system libraries, and dependencies.

Step 1: Verify Docker Daemon Status

01

Verify Docker Daemon Status

Daemon

Verify that the Docker service is active, running, and enabled for system boot:

Terminal window
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

02

Run a Test Web Server Container

Execution

Launch a lightweight Nginx web server in detached mode, bound to localhost so this local test is not published on every host interface:

Terminal window
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

03

Inspect & Terminate Containers

Lifecycle

Inspect currently active containers, stop running workloads gracefully, and prune the test container:

Terminal window
# List running containers
docker ps
# Stop and clean up container
docker stop test-web
docker 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

Comments