HRD Corp Claimable Malay & English

Docker for beginner

3 days
Duration
RM 2,899
Price
0
Sessions
Training Centre
Delivery
Yes
HRD Claimable
Malay & English
Language
3 days
Duration

About This Course

This programme gives beginners a complete, hands-on path to running real applications with Docker, from first container to a multi-service stack deployed on their own server. It focuses solely on Docker (no Kubernetes), trading breadth for the depth needed to make participants genuinely self-sufficient by the end of three days. The programme assumes no prior Linux or command-line experience.

Day 1 begins by setting up a working environment on Windows with WSL2 and Docker Desktop, plus a short terminal survival kit, before any Docker concept is introduced. The course is built around one realistic, recurring scenario: containerising and operating a web stack made of Nginx, a backend application, a database, and phpMyAdmin with Docker Compose. Every concept ; images, Dockerfiles, volumes, networking, logging, security, backup is taught in service of getting that stack running, troubleshooting it, securing it, recovering it, and redeploying it without fear.

By the end, participants will not just understand Docker; they will have dockerised an application, composed a multi-service system, pushed and deployed their own image to a live server, broken it, fixed it, and restored it from backup.

Learning Outcomes

  • Participants will be able to install and verify WSL2 and Docker Desktop on Windows and run basic terminal commands unaided.
  • Participants will be able to describe how the Docker engine, images, containers, and Docker Hub work together.
  • Participants will be able to write a Dockerfile to containerise a backend application and build a working image.
  • Participants will be able to compose Nginx + backend + database + phpMyAdmin into a single working stack.
  • Participants will be able to read container logs and diagnose common failures (port conflicts, containers that won't start, bad mounts).
  • Participants will be able to configure restart policies and healthchecks so services recover automatically.
  • Participants will be able to harden a deployment using non-root users, minimal images, and managed secrets.
  • Participants will be able to back up a database and named volumes, then restore them on a fresh environment.
  • Participants will be able to deploy a stack to a Linux server and redeploy a new version safely.

Prerequisites

No prior Docker, Linux, or command-line experience required — the programme starts from environment setup and terminal basics. Comfortable using a computer and installing software. Basic understanding of what web applications and databases are is an advantage (not required). Windows participants: a laptop running Windows 10/11 (64-bit) with administrator rights and hardware virtualisation enabled in BIOS/UEFI (needed for WSL2); macOS and Linux laptops are also fully supported. Minimum 8 GB RAM (16 GB recommended) and at least 10 GB free disk space. Stable internet connection for downloading WSL2, Docker Desktop, and images.

Course Outline

Day 1: Setup, Docker Foundations & First Images
Module 1 : Getting Started on Windows: WSL2 & Docker Desktop
  • What WSL2 is and why Windows needs it to run Docker.
  • Turning on WSL2 and installing Ubuntu (guided, step by step).
  • Installing Docker Desktop and VS Code, connected to your WSL2 Ubuntu.
  • Verifying everything with docker run hello-world.
Module 2 : Terminal Basics & VS Code for Docker
  • Opening a terminal and running your first command.
  • Finding your way: cd, ls, and how file paths work.
  • Running a Docker command and reading its output (fixing typos).
  • Opening your project in VS Code from WSL with code .
Module 3 : Containerisation & Docker Architecture
  • Why containers? Problems they solve vs installing software directly.
  • Virtual machines vs containers.
  • The pieces: image, container, registry, and the Docker engine.
  • The role of Docker Hub.
Module 4 : Running Containers & Working with Images
  • docker run, ps, stop, rm — the container lifecycle.
  • Pulling and running public images from Docker Hub.
  • Listing, tagging, and inspecting images.
  • Looking inside a running container with exec and logs.
Module 5 : Writing Your First Dockerfile
  • Core instructions: FROM, RUN, COPY, CMD, EXPOSE.
  • Building and tagging a custom image.
  • The build context and .dockerignore.
  • Containerising a sample backend application.
Module 6 : Data Persistence: Volumes & Bind Mounts
  • Why containers are ephemeral and why it matters.
  • Named volumes vs bind mounts.
  • Persisting database and application data.
  • Inspecting and managing volumes.
Module 7 : Hands-On Lab: Dockerise a Backend App
  • Write a Dockerfile for a provided backend service.
  • Build, tag, and run it with port mapping.
  • Persist its data with a named volume.
  • Verify the running container and review.
Day 2: Docker Compose — A Real Multi-Service Stack
Module 1 : Container Networking & Why Compose
  • How containers talk to each other over a shared network.
  • Reaching another container by its service name (no IP addresses).
  • The pain of wiring a multi-container app by hand.
  • Where Docker Compose fits in.
Module 2 : Docker Compose Fundamentals
  • Anatomy of docker-compose.yml (services, networks, volumes).
  • up, down, ps, logs, exec.
  • depends_on and start order.
  • Environment files (.env) and configuration.
Module 3 : Adding the Database & phpMyAdmin
  • Defining a MySQL/MariaDB service.
  • Persisting database data with volumes.
  • Database environment configuration and credentials.
  • Wiring phpMyAdmin to the database for visual management.
Module 4 : Adding the Backend Service
  • Building the backend service from your Dockerfile in Compose.
  • Connecting the backend to the database over the Compose network.
  • Configuration via environment variables.
  • Reading the backend's logs to confirm it started and connected.
Module 5 : Nginx as a Reverse Proxy
  • Adding an Nginx service to the stack.
  • Reverse-proxying requests to the backend.
  • Serving static content and mounting config.
  • Exposing the stack on a single public port.
Module 6 : Operating & Updating the Stack
  • Reading per-service logs and spotting which service failed.
  • Rebuilding and redeploying a single service after a change.
  • Bringing the whole stack up and down cleanly (up -d, down).
  • Keeping services running with restart: unless-stopped.
Module 7 : Hands-On Lab: Full Stack with Compose
  • Assemble Nginx + backend + database + phpMyAdmin in one Compose file.
  • Bring the stack up and verify end-to-end.
  • Break a service, read the logs, and fix it.
  • Review and discussion.
Day 3: Operate, Secure, Recover & Deploy
Module 1 : Logging & Troubleshooting
  • docker logs and docker compose logs to follow what a container is doing.
  • Looking inside a stuck container with inspect and exec.
  • Common failures: port already in use, bad mounts, missing environment variables.
  • A repeatable troubleshooting checklist.
Module 2 : Auto-Restart & Self-Healing
  • Restart policies in depth.
  • Writing HEALTHCHECK instructions.
  • How healthchecks drive automatic recovery.
  • Debugging a deliberately failing container.
Module 3 : Basic Docker Security
  • Running containers as a non-root user.
  • Choosing minimal, trusted base images.
  • Secrets vs plain environment variables.
  • Keeping images updated and limiting exposed ports.
Module 4 : Backup & Restore
  • Backing up named volumes (tar strategy).
  • Dumping and restoring the database.
  • Restoring data onto a fresh stack.
  • Planning regular backups.
Module 5 : Deploying Your Image to a Live Server
  • Tagging and pushing your image to Docker Hub (docker login, push).
  • Connecting to the shared training server over SSH.
  • Pulling and running your image on your own assigned port.
  • Opening your app at the server's address and confirming it's healthy.
Module 6 : Redeploy & Maintenance Without Fear
  • The safe redeploy workflow on the server: rebuild, push, pull, restart.
  • Rolling back to a previous image tag.
  • Pruning unused images and volumes.
  • Checking your container is healthy (docker ps, docker stats, logs).
Module 7 : Final Project: Dockerise & Deploy Your Own Stack
  • Dockerise an application of your choice (a starter app is provided if you don't have one).
  • Push and deploy your own image variant to the shared server.
  • Troubleshoot, restart, and restore it from a backup to prove recoverability.
  • Present your deployment and wrap-up.

Upcoming Sessions

There are currently no scheduled sessions for this course.

We'll notify you when new sessions are scheduled

Your Instructor

Ariff Bin Azman

Ariff Bin Azman

Professional Experience

View Full Profile
Technology practitioner and trainer with approximately 10 years of experience across industries, and founder of Double A...
DeVops Cloud Infrastructure Software Engineering Artificial Intelligence AWS Azure GCP Digital Ocean Git GitHub GitLab Docker Kubernetes Terraform Terragrunt Ansible Proxmox Linux Server N8N AI-Agents

Questions?

Our training experts are here to help

Docker for beginner
Image Placeholder
Back HRD Corp Claimable Malay & English
Duration
3 days
Price
RM 2,899

Docker for beginner

This programme gives beginners a complete, hands-on path to running real applications with Docker, from first container to a multi-service stack deployed on their own server. It focuses solely on Docker (no Kubernetes), trading breadth for the depth needed to make participants genuinely self-sufficient by the end of three days. The programme assumes no prior Linux or command-line experience.

Day 1 begins by setting up a working environment on Windows with WSL2 and Docker Desktop, plus a short terminal survival kit, before any Docker concept is introduced. The course is built around one realistic, recurring scenario: containerising and operating a web stack made of Nginx, a backend application, a database, and phpMyAdmin with Docker Compose. Every concept ; images, Dockerfiles, volumes, networking, logging, security, backup is taught in service of getting that stack running, troubleshooting it, securing it, recovering it, and redeploying it without fear.

By the end, participants will not just understand Docker; they will have dockerised an application, composed a multi-service system, pushed and deployed their own image to a live server, broken it, fixed it, and restored it from backup.

Learning Outcomes

  • Participants will be able to install and verify WSL2 and Docker Desktop on Windows and run basic terminal commands unaided.
  • Participants will be able to describe how the Docker engine, images, containers, and Docker Hub work together.
  • Participants will be able to write a Dockerfile to containerise a backend application and build a working image.
  • Participants will be able to compose Nginx + backend + database + phpMyAdmin into a single working stack.
  • Participants will be able to read container logs and diagnose common failures (port conflicts, containers that won't start, bad mounts).
  • Participants will be able to configure restart policies and healthchecks so services recover automatically.
  • Participants will be able to harden a deployment using non-root users, minimal images, and managed secrets.
  • Participants will be able to back up a database and named volumes, then restore them on a fresh environment.
  • Participants will be able to deploy a stack to a Linux server and redeploy a new version safely.

Prerequisites

No prior Docker, Linux, or command-line experience required — the programme starts from environment setup and terminal basics. Comfortable using a computer and installing software. Basic understanding of what web applications and databases are is an advantage (not required). Windows participants: a laptop running Windows 10/11 (64-bit) with administrator rights and hardware virtualisation enabled in BIOS/UEFI (needed for WSL2); macOS and Linux laptops are also fully supported. Minimum 8 GB RAM (16 GB recommended) and at least 10 GB free disk space. Stable internet connection for downloading WSL2, Docker Desktop, and images.

Course Outline

Day 1: Setup, Docker Foundations & First Images
Module 1 : Getting Started on Windows: WSL2 & Docker Desktop
  • What WSL2 is and why Windows needs it to run Docker.
  • Turning on WSL2 and installing Ubuntu (guided, step by step).
  • Installing Docker Desktop and VS Code, connected to your WSL2 Ubuntu.
  • Verifying everything with docker run hello-world.
Module 2 : Terminal Basics & VS Code for Docker
  • Opening a terminal and running your first command.
  • Finding your way: cd, ls, and how file paths work.
  • Running a Docker command and reading its output (fixing typos).
  • Opening your project in VS Code from WSL with code .
Module 3 : Containerisation & Docker Architecture
  • Why containers? Problems they solve vs installing software directly.
  • Virtual machines vs containers.
  • The pieces: image, container, registry, and the Docker engine.
  • The role of Docker Hub.
Module 4 : Running Containers & Working with Images
  • docker run, ps, stop, rm — the container lifecycle.
  • Pulling and running public images from Docker Hub.
  • Listing, tagging, and inspecting images.
  • Looking inside a running container with exec and logs.
Module 5 : Writing Your First Dockerfile
  • Core instructions: FROM, RUN, COPY, CMD, EXPOSE.
  • Building and tagging a custom image.
  • The build context and .dockerignore.
  • Containerising a sample backend application.
Module 6 : Data Persistence: Volumes & Bind Mounts
  • Why containers are ephemeral and why it matters.
  • Named volumes vs bind mounts.
  • Persisting database and application data.
  • Inspecting and managing volumes.
Module 7 : Hands-On Lab: Dockerise a Backend App
  • Write a Dockerfile for a provided backend service.
  • Build, tag, and run it with port mapping.
  • Persist its data with a named volume.
  • Verify the running container and review.
Day 2: Docker Compose — A Real Multi-Service Stack
Module 1 : Container Networking & Why Compose
  • How containers talk to each other over a shared network.
  • Reaching another container by its service name (no IP addresses).
  • The pain of wiring a multi-container app by hand.
  • Where Docker Compose fits in.
Module 2 : Docker Compose Fundamentals
  • Anatomy of docker-compose.yml (services, networks, volumes).
  • up, down, ps, logs, exec.
  • depends_on and start order.
  • Environment files (.env) and configuration.
Module 3 : Adding the Database & phpMyAdmin
  • Defining a MySQL/MariaDB service.
  • Persisting database data with volumes.
  • Database environment configuration and credentials.
  • Wiring phpMyAdmin to the database for visual management.
Module 4 : Adding the Backend Service
  • Building the backend service from your Dockerfile in Compose.
  • Connecting the backend to the database over the Compose network.
  • Configuration via environment variables.
  • Reading the backend's logs to confirm it started and connected.
Module 5 : Nginx as a Reverse Proxy
  • Adding an Nginx service to the stack.
  • Reverse-proxying requests to the backend.
  • Serving static content and mounting config.
  • Exposing the stack on a single public port.
Module 6 : Operating & Updating the Stack
  • Reading per-service logs and spotting which service failed.
  • Rebuilding and redeploying a single service after a change.
  • Bringing the whole stack up and down cleanly (up -d, down).
  • Keeping services running with restart: unless-stopped.
Module 7 : Hands-On Lab: Full Stack with Compose
  • Assemble Nginx + backend + database + phpMyAdmin in one Compose file.
  • Bring the stack up and verify end-to-end.
  • Break a service, read the logs, and fix it.
  • Review and discussion.
Day 3: Operate, Secure, Recover & Deploy
Module 1 : Logging & Troubleshooting
  • docker logs and docker compose logs to follow what a container is doing.
  • Looking inside a stuck container with inspect and exec.
  • Common failures: port already in use, bad mounts, missing environment variables.
  • A repeatable troubleshooting checklist.
Module 2 : Auto-Restart & Self-Healing
  • Restart policies in depth.
  • Writing HEALTHCHECK instructions.
  • How healthchecks drive automatic recovery.
  • Debugging a deliberately failing container.
Module 3 : Basic Docker Security
  • Running containers as a non-root user.
  • Choosing minimal, trusted base images.
  • Secrets vs plain environment variables.
  • Keeping images updated and limiting exposed ports.
Module 4 : Backup & Restore
  • Backing up named volumes (tar strategy).
  • Dumping and restoring the database.
  • Restoring data onto a fresh stack.
  • Planning regular backups.
Module 5 : Deploying Your Image to a Live Server
  • Tagging and pushing your image to Docker Hub (docker login, push).
  • Connecting to the shared training server over SSH.
  • Pulling and running your image on your own assigned port.
  • Opening your app at the server's address and confirming it's healthy.
Module 6 : Redeploy & Maintenance Without Fear
  • The safe redeploy workflow on the server: rebuild, push, pull, restart.
  • Rolling back to a previous image tag.
  • Pruning unused images and volumes.
  • Checking your container is healthy (docker ps, docker stats, logs).
Module 7 : Final Project: Dockerise & Deploy Your Own Stack
  • Dockerise an application of your choice (a starter app is provided if you don't have one).
  • Push and deploy your own image variant to the shared server.
  • Troubleshoot, restart, and restore it from a backup to prove recoverability.
  • Present your deployment and wrap-up.

Upcoming Sessions

There are currently no scheduled sessions for this course.

We'll notify you when new sessions are scheduled

Course Information

Delivery: Training Centre
Language: Malay & English
Duration: 3 days
HRD Claimable: Yes

Your Instructor

Ariff Bin Azman

Ariff Bin Azman

Professional Experience

Technology practitioner and trainer with approximately 10 years of experience across industries, and founder of Double A...
View Profile

Questions?

Our training experts are here to help

Register Now