👋
Hello and welcome to Docker Deep Dive - A Cloud Guru!
Completing the course has equipped me with a strong foundation in containerization with Docker. I now feel confident applying these skills to real-world projects or exploring advanced platforms like Kubernetes and EKS.
A little background
Collaborator at the Networking Laboratory (E3.1 Laboratory - https://nc.uit.edu.vn/phong-thuc-hanh-e31 ): Assisted students with lending networking and IoT devices and provided usage support;…
I hope it will be as useful to you as it has been to me 😉
An Huynh Phuoc
Course Overview
Docker Deep Dive - A Cloud Guru Skill Level: intermediate Duration: 4.8+56 hours
Whether you’re completely new to Docker or just need a refresher, this course is designed for you! Covering Docker version 18.09.4 , it provides a comprehensive guide to mastering containerization. You’ll learn how Docker works under the hood, how to install Docker Community Edition, and manage essential components like images, containers, networks, and volumes.
In this course, you’ll learn how to build custom Docker images using a Dockerfile , tag them properly, and push them to Docker Hub for sharing or deployment. You’ll explore how to deploy microservices using Docker Compose and manage containerized applications in Swarm Mode to create a production-ready environment. The course also teaches how to use Secrets to securely handle sensitive data like passwords. Throughout the journey, a series of hands-on labs will help reinforce your skills with practical, real-world experience.
Content Overview
🐬 **MODULE 1: `Introduction`**
Topics Covered Include:
1.1 - About This Course
1.2 - About the Instructor
1.3 - Introduction to Docker
🐬 **MODULE 5: `Networking`**
Topics Covered Include:
5.1 - Networking Overview
5.2 - Networking Commands
5.3 - Networking Containers
🐬 **MODULE 9: `Managing Images`**
Topics Covered Include:
9.1 - Image History
9.2 - Saving and Loading Images
🐬 **MODULE 13: `Docker Security`**
Topics Covered Include:
13.1 - Introduction to Docker Security
13.2 - Working with Docker Security
13.3 - Docker Content Trust
13.4 - Working with Secrets
🐬 **MODULE 2: `Setting up your environment`**
Topics Covered Include:
2.1 - Using Cloud Playground
2.2 - Installing Docker
2.3 - Installing Centos
🐬 **MODULE 6: `Storage`**
Topics Covered Include:
6.1 - Storage Overview
6.2 - Volume Commands
6.3 - Using Bind Mounts
6.4 - Using Volumes for Persistent Storage
🐬 **MODULE 10:`Container Management`**
Topics Covered Include:
10.1 - Inspecting Container Processes
10.2 - Having Containers Start Automatically
10.3 - Docker Events
10.4 - Managing Stopped Container
10.5 - Managing Docker with Portainer
10.6 - Updating Containers with Watchtower
🐬 **MODULE 14: `Final Steps`**
🐬 **MODULE 3: 03 - `Docker Under the Hood`**
Topics Covered Include:
3.1 - Docker Architecture
3.2 - The Docker Engine
3.3 - Docker Images and Containers
3.4 - Docker Hub
🐬 **MODULE 7: `Dockerfile`**
Topics Covered Include:
7.1 - Introduction to the Dockerfile
7.2 - Working with Instructions
7.3 - Environment Variables
7.4 - Build Arguments
7.5 - Working with Non-privileged User
7.6 - Order of Execution
7.7 - Using the Volume Instruction
7.8 - Entrypoint vs. Command
7.9 - Using .dockerignore
🐬 **MODULE 11: `Docker Compose`**
Topics Covered Include:
11.1 - Installing Docker Compose
11.2 - Compose Commands
11.3 - Creating a Compose File
11.4 - Using Volumes and Networking with Compose
🐬 **MODULE 4: `Docker Basics`**
Topics Covered Include:
4.1 - Docker Commands
4.2 - Creating Containers
4.3 - Exposing Container Ports
4.4 - Executing Container Commands
4.5 - Docker Logging
🐬 **MODULE 8: `Building and Distributing Images`**
Topics Covered Include:
8.1 - Building Images
8.2 - Using Multi-Stage Builds
8.3 - Tagging
8.4 - Distributing Images on Docker Hub
🐬 **MODULE 12: `Docker Swarm`**
Topics Covered Include:
12.1 - Introduction to Docker Swarm
12.2 - Running Docker in Swarm Mode
12.3 - Managing Swarm Nodes
12.4 - Working with Services
12.5 - Using Networks in Swarm Mode
12.6 - Using Volumes in Swarm Mode
12.7 - Deploying Stacks in Docker Swarm
Module
Module
Docker Environment
Docker Environment
Dockerfile
Dockerfile
Docker Image
Docker Image
Docker Container
Docker Container
Docker Networking
Docker Networking
Docker Storage
Docker Storage
Docker Orchestration
Docker Orchestration: Docker Compose and Docker Swarm
Docker Security
Docker Security
Docker Command
1. Image
Lệnh Mô tả docker image lsLiệt kê các images docker image pull <image>Kéo image từ registry docker image push <image>Đẩy image lên registry docker image build -t <tag> .Build image từ Dockerfile docker image inspect <image>Xem thông tin chi tiết image docker image rm <image>Xóa image docker image pruneXóa image không dùng docker tag <image> <new_tag>Gán thêm tag cho image docker save -o <file.tar> <image>Lưu image thành file docker load -i <file.tar>Load image từ file
2. Container
Lệnh Mô tả docker container run <options> <image>Tạo & chạy container docker container start <id>Start container đã dừng docker container stop <id>Stop container đang chạy docker container restart <id>Restart container docker container ls hoặc docker psLiệt kê containers đang chạy docker container ls -aLiệt kê cả container dừng docker container rm <id>Xóa container docker container pruneXóa tất cả container đã dừng docker container logs <id>Xem log container docker container exec -it <id> <cmd>Thực thi lệnh trong container docker container inspect <id>Xem chi tiết container docker container top <id>Xem process trong container docker container pause <id>Tạm dừng container docker container unpause <id>Tiếp tục container docker container statsXem tài nguyên container docker container cp <container>:/path /local/pathCopy file từ container ra ngoài docker attach <id>Gắn vào stdout/stderr của container docker update --memory <limit> <id>Update tài nguyên container
3. Volume (Storage)
Lệnh Mô tả docker volume lsLiệt kê volumes docker volume create <name>Tạo volume docker volume inspect <name>Xem thông tin volume docker volume rm <name>Xóa volume docker volume pruneXóa volume không dùng
4. Network
Lệnh Mô tả docker network lsLiệt kê networks docker network create <name>Tạo network docker network inspect <name>Xem chi tiết network docker network connect <network> <container>Gắn container vào network docker network disconnect <network> <container>Ngắt container khỏi network docker network rm <name>Xóa network docker network pruneXóa networks không dùng
5. Registry
Lệnh Mô tả docker loginĐăng nhập registry docker logoutĐăng xuất registry docker pull <image>Tải image docker push <image>Đẩy image
6. Compose
Lệnh Mô tả docker compose up -dChạy services từ docker-compose.yml docker compose downDừng & xóa containers, networks, volumes docker compose psLiệt kê các container docker compose logsXem logs toàn bộ service docker compose exec <service> <cmd>Thực thi lệnh trong service docker compose buildBuild images từ docker-compose.yml
7. Swarm / Orchestration
Lệnh Mô tả docker swarm initKhởi tạo swarm docker swarm joinJoin vào swarm cluster docker node lsLiệt kê nodes trong swarm docker service createTạo service swarm docker service lsLiệt kê services docker service updateCập nhật service docker service rm <id>Xóa service docker stack deploy -c <file> <stack_name>Deploy stack docker stack lsLiệt kê stacks docker stack rm <stack>Xóa stack
8. System & Clean Up
Lệnh Mô tả docker system dfXem dung lượng đang chiếm docker system pruneXóa tất cả unused data docker infoThông tin Docker docker versionKiểm tra version docker eventsStream các event hệ thống
9. Một số Flags quan trọng
Flag Mô tả -p <host>:<container>Map port -v <volume>:/pathMount volume -dRun container ở chế độ detached -itTương tác với terminal --rmXóa container khi stop --name <name>Đặt tên container
Lab and Project
Mindmap
Mindmap Command
Docker Basic