DevOps-Containerization

Class Practical — 4 February

Docker Engine Configuration & Client–Server Architecture (Windows)


Overview

This practical demonstrates Docker Engine verification, daemon architecture understanding, and secure client-server communication using Docker Desktop on Windows. It includes validation of Docker CLI connectivity, context inspection, container execution, and architectural analysis of Docker’s internal communication model.


Objectives


Tools & Technologies Used


Docker Architecture Concept

Docker follows a Client–Server model:

Docker CLI → Docker Daemon → Containers

On Windows, communication happens via:

npipe:////./pipe/docker_engine

Unlike Linux/macOS, direct TCP exposure (port 2375) is restricted by Docker Desktop for security reasons.


Step 1: Verify Docker Installation

docker --version
docker info

Step 2: Check Docker Context

docker context ls

If required:

docker context use desktop-linux

Step 3: List Containers

Running Containers:

docker ps

All Containers:

docker ps -a

Step 4: List Images

docker images

Step 5: Validate Daemon Connectivity

Docker CLI communicates with daemon using Named Pipe:

docker info
docker ps

Successful execution confirms daemon connectivity.


Step 6: Deploy Sample Container

docker run hello-world

This confirms:


Security Note

Docker Desktop does not expose TCP 2375 by default due to security risks.

Unsecured TCP exposure can allow:

Modern DevOps environments use:


GitHub Integration

cd ..
git add .
git commit -m "Added Class Practical 4 Feb - Docker Engine Architecture"
git push

Result


Conclusion

This lab provided in-depth understanding of Docker Engine internals, daemon communication, and secure architecture practices in Windows-based environments. It highlights real-world DevOps considerations when working with container runtimes and remote API configurations.