สอบถามหลักสูตรเลือกช่องทางที่สะดวก ทีมงานตอบเองทุกช่อง
LINE @itgeniusตอบเร็วที่สุด · จ–ศ 9:00–17:00 น.
โทรศัพท์
02-570-8449สำนักงาน088-807-9770มือถือ
อีเมลและโซเชียล
contact@itgenius.co.thสำหรับใบเสนอราคาและเอกสารFacebookitgeniusonlineYouTubeitgeniusengขอคำปรึกษาจัดอบรมให้ทีม
DevOps · DOP-11

Docker in Practice

หลักสูตร Docker in Practice เป็นการอบรมการใช้ Docker ในงานจริง ตั้งแต่กลไกภายในของ Container เขียน Dockerfile แบบ Multi-stage ด้วย BuildKit ประกอบระบบหลาย Service ด้วย Compose จนถึง Security การสแกนช่องโหว่ และการ Debug เหมาะกับนักพัฒนา DevOps Engineer และ Tech Lead ที่ใช้ Docker พื้นฐานเป็นแล้ว

อัปเดตล่าสุด
ราคาเริ่มต้น 8,550 บาท / ท่าน 9,500 −10% ยังไม่รวม VAT 7% · มีราคาหมู่คณะ
PDFดาวน์โหลด Course Outline
  • ระยะเวลา18 ชั่วโมง · 3 วัน
  • รูปแบบออนไซต์ / ออนไลน์สด
  • รอบถัดไปเปิดตามคำขอ
  • ใบรับรองมี Certificate

ภาพรวมหลักสูตร

Container เป็นรูปแบบมาตรฐานของการส่งมอบซอฟต์แวร์ ตั้งแต่เครื่องของนักพัฒนา CI/CD Pipeline ไปจนถึง Kubernetes บน Production แต่หลายทีมยังใช้ Docker แค่ระดับรันได้ Image จึงใหญ่ Build ช้า มีช่องโหว่ติดมากับ Base Image รัน Container ด้วยสิทธิ์ root และแก้ปัญหาได้ยากเมื่อระบบมีหลาย Service ขณะเดียวกัน Docker เองก็เปลี่ยนไปมาก เช่น Docker Engine 29 ที่ใช้ containerd image store เป็นค่าเริ่มต้นสำหรับการติดตั้งใหม่ และ Docker Compose v5 ที่ส่งงาน Build ให้ Docker Bake

หลักสูตรนี้พาผู้เรียนใช้ Docker Engine 29, Docker Desktop, BuildKit และ Buildx, Docker Compose v5 รวมถึง Docker Scout และ Trivy ในแบบที่ทีมใช้งานจริง ตั้งแต่กลไกภายในของ Container การเขียน Dockerfile ที่ได้ Image เล็กและ Build เร็ว การจัดการ Network และ Volume การประกอบระบบหลาย Service ด้วย Compose ไปจนถึง Security, Registry, Resource Limit และการ Debug อย่างเป็นระบบ ทั้งหมดต่อยอดบนระบบตัวอย่าง BrewTrack Coffee Ordering ชุดเดียว จนพร้อมส่งเข้า CI/CD และต่อยอดสู่ Kubernetes (อบรม 3 วัน วันละ 6 ชั่วโมง รวม 18 ชั่วโมง ระดับ Intermediate)

สิ่งที่คุณจะได้รับ

  • เข้าใจกลไกภายในของ Container ทั้ง Namespace, cgroups, Image Layer และ containerd
  • เขียน Dockerfile ที่ได้ Image เล็ก Build เร็ว และดูแลง่ายด้วย Multi-stage Build และ BuildKit
  • Build Image หลายสถาปัตยกรรม (amd64 และ arm64) ด้วย Buildx ได้
  • จัดการ Network, Volume และ Configuration ของ Container ได้อย่างถูกต้อง
  • ประกอบระบบหลาย Service ด้วย Docker Compose พร้อม Healthcheck, Profile และ Watch
  • เสริมความปลอดภัยด้วย Non-root, Secret และการสแกนช่องโหว่ของ Image
  • วางมาตรฐาน Registry, Tag และ Versioning ของ Image สำหรับทีม
  • กำหนด Resource Limit, Logging และ Debug ปัญหาของ Container ได้อย่างเป็นระบบ

หลักสูตรนี้เหมาะสำหรับ

  • นักพัฒนา Backend, Frontend และ Full Stack ที่ต้องการใช้ Docker ในงานจริง
  • DevOps Engineer และ System Engineer ที่ดูแล Container ขององค์กร
  • Tech Lead ที่ต้องการวางมาตรฐานการใช้ Container ของทีม
  • ผู้ที่ใช้ Docker ระดับพื้นฐานแล้วและต้องการยกระดับสู่การใช้งานแบบมืออาชีพ
  • ผู้ที่เตรียมต่อยอดไปสู่ CI/CD และ Kubernetes

พื้นฐานของผู้เข้าอบรม

  • เขียนโปรแกรมได้อย่างน้อย 1 ภาษา และเข้าใจการทำงานของ Web Application
  • ใช้ Command Line (Linux Shell หรือ PowerShell) และ Git ได้ในระดับพื้นฐาน
  • เข้าใจพื้นฐานเครือข่าย เช่น IP Address, Port, DNS และ HTTP
  • โน้ตบุ๊ก RAM 16 GB ขึ้นไป เปิด Virtualization แล้ว และมีสิทธิ์ติดตั้งโปรแกรม

หัวข้อการฝึกอบรม

รายละเอียดหลักสูตร

หลักสูตรนี้ต่อยอดจาก Basic Docker (2 วัน) โดยลงลึกกว่าเดิมเรื่อง BuildKit, Multi-platform Build, Security, Registry และการใช้ Docker Compose กับระบบหลาย Service จริง อบรม 3 วัน วันละ 6 ชั่วโมง รวม 18 ชั่วโมง (09:00-16:00 น.) รูปแบบ Workshop ต่อเนื่องบนระบบตัวอย่าง BrewTrack Coffee Ordering ซึ่งเป็นร้านกาแฟสมมติที่ใช้ข้อมูลจำลองทั้งหมด ระดับ Intermediate ทุก Lab

รันบนโน้ตบุ๊กของผู้เรียนด้วย Docker Desktop หรือ Docker Engine บน WSL2 หรือ Linux ส่วน Docker Swarm อยู่นอกขอบเขต และ Kubernetes เป็นการสาธิตเพื่อปูทาง ผู้ที่ต้องการต่อยอดเรียน Kubernetes (K8s) Orchestration, DevSecOps in Practice หรือ DevOps for Full Stack Developers ต่อได้ ผู้เรียนจะได้ Lab Guide, Dockerfile และไฟล์ Compose ของระบบตัวอย่าง และ Checklist มาตรฐานการใช้ Docker ของทีมกลับไปใช้ต่อ

Day 1 กลไกภายในของ Container และการสร้าง Image ที่ดี

Section 1: Lab: Container Internals

  • Container เทียบกับ Virtual Machine และสิ่งที่ Container แชร์กับ Host
  • Linux Namespace, cgroups และ Union Filesystem
  • สถาปัตยกรรม Docker CLI, Docker Engine, containerd และ runc
  • ความเปลี่ยนแปลงใน Docker Engine 29: containerd image store เป็นค่าเริ่มต้นสำหรับการติดตั้งใหม่
  • Lab: สำรวจ Namespace, cgroups และ Image Layer ของ Container ด้วยคำสั่งจริง

Section 2: Lab: Docker CLI ที่ใช้งานจริง

  • วงจรชีวิตของ Container: create, start, stop, restart และ rm
  • docker exec, logs, inspect, stats และ events
  • จัดการ Image ด้วย pull, tag, history และ prune
  • Lab: รันและตรวจสอบ Service ของ BrewTrack ทีละตัวจาก Official Image

Section 3: Dockerfile Best Practices

  • ลำดับคำสั่งเพื่อใช้ Layer Cache อย่างมีประสิทธิภาพ
  • .dockerignore, COPY เทียบกับ ADD และ ENTRYPOINT เทียบกับ CMD
  • เลือก Base Image: Official, Slim, Alpine และ Distroless
  • ARG, ENV, LABEL และการทำให้ Build ซ้ำได้ผลเหมือนเดิม
  • Lab: เขียน Dockerfile แรกของ REST API แล้ววัดขนาดและเวลา Build

Section 4: Lab: Multi-stage Build และ BuildKit

  • แยก Build Stage กับ Runtime Stage เพื่อลดขนาด Image
  • Cache Mount สำหรับ Package Manager เพื่อลดเวลา Build ซ้ำ
  • Build Secret ที่ไม่ค้างอยู่ใน Layer ของ Image
  • Build Target สำหรับ Development และ Production จาก Dockerfile เดียว
  • Workshop: ปรับ Image ของ API และ Frontend แล้วเทียบขนาดและเวลาก่อนและหลัง

Section 5: Lab: Buildx และ Multi-platform Image

  • Builder Instance และ Driver ของ Buildx
  • Build Image สำหรับ linux/amd64 และ linux/arm64 ในคำสั่งเดียว
  • ภาพรวมของ Docker Bake สำหรับจัดการ Build หลาย Target
  • Lab: Build Image ของ BrewTrack แบบ Multi-platform แล้วตรวจ Manifest ที่ได้
Day 2 Networking, Storage และ Docker Compose

Section 6: Lab: Docker Networking

  • Network Driver: bridge, host, none และ overlay ในระดับแนวคิด
  • User-defined Bridge Network และ DNS ภายในระหว่าง Container
  • Port Publishing และการแยก Network ของ Frontend กับ Backend
  • ภาพรวม Firewall Backend แบบ nftables ที่ยังเป็น Experimental ใน Docker Engine 29
  • Lab: แยก Network ให้ฐานข้อมูลเข้าถึงได้เฉพาะจาก API

Section 7: Lab: Volumes และ Data Persistence

  • Volume, Bind Mount และ tmpfs ต่างกันอย่างไร และเลือกใช้เมื่อไร
  • Backup และ Restore ข้อมูลใน Volume
  • ปัญหาสิทธิ์ไฟล์ (UID/GID) ระหว่าง Host และ Container
  • Lab: เก็บข้อมูล PostgreSQL ใน Volume แล้วทดลอง Backup และ Restore

Section 8: Configuration และ Environment

  • Environment Variable, ไฟล์ .env และลำดับความสำคัญของค่า
  • แยกค่าตั้งของ Development, Staging และ Production
  • ส่ง Secret ให้ Container โดยไม่ฝังไว้ใน Image
  • Lab: ย้ายค่าตั้งทั้งหมดของ BrewTrack ออกจาก Image ไปไว้ที่ Environment

Section 9: Lab: Docker Compose v5

  • โครงสร้างไฟล์ Compose: services, networks, volumes, configs และ secrets
  • Healthcheck และ depends_on แบบมีเงื่อนไขเพื่อคุมลำดับการเริ่มทำงาน
  • Init Container สำหรับงานเตรียมระบบ เช่น Database Migration
  • Profiles สำหรับ Service เสริม และการรวมไฟล์ Compose หลายไฟล์
  • การ Build ใน Compose v5 ที่ทำงานผ่าน Docker Bake

Section 10: Developer Workflow ด้วย Compose Watch

  • Compose Watch แบบ sync, rebuild และ sync+restart
  • ตั้งค่า Hot Reload ให้ API และ Frontend
  • คำสั่งที่ใช้บ่อย: up, down, logs, ps, exec และ config
  • Workshop: ประกอบ Frontend, API, PostgreSQL, Redis และ Nginx ใน Compose เดียว พร้อม Watch และ Profile เครื่องมือจัดการฐานข้อมูล
Day 3 Security, Operations และ Master Workshop

Section 11: Lab: Container Security

  • รัน Container แบบ Non-root และ Read-only Filesystem
  • ลด Linux Capabilities และป้องกันการยกระดับสิทธิ์
  • Rootless Mode ในระดับแนวคิด
  • ลด Attack Surface ด้วย Minimal หรือ Distroless Image และอัปเดต Base Image สม่ำเสมอ
  • Lab: ปรับ Image ทุกตัวของ BrewTrack ให้รันแบบ Non-root

Section 12: Lab: Image Scanning และ Supply Chain

  • สแกนช่องโหว่ด้วย Docker Scout และ Trivy พร้อมการอ่านผล CVE
  • SBOM และ Provenance Attestation ของ Image
  • กำหนดเกณฑ์ไม่ให้ Image ที่มีช่องโหว่ระดับร้ายแรงผ่านไปใช้งาน
  • Lab: สแกนแล้วแก้ไขจนผ่านเกณฑ์ที่ทีมตั้งไว้

Section 13: Registry และ Versioning

  • Docker Hub, Private Registry และ Container Registry ของ GitHub หรือ GitLab
  • กลยุทธ์ Tag: Semantic Version, Git SHA และความเสี่ยงของ latest
  • ยืนยันตัวตนกับ Registry อย่างปลอดภัยด้วย Credential Helper
  • Lab: Tag และ Push Image ขึ้น Private Registry ตามกลยุทธ์ Versioning ของทีม

Section 14: Lab: Resource, Logging และ Debugging

  • CPU และ Memory Limit, Restart Policy และ OOM Kill
  • Logging Driver และการหมุนเวียนไฟล์ Log
  • ขั้นตอน Debug: inspect, logs, events, exec และ docker debug สำหรับ Image ที่ไม่มี Shell
  • Lab: แก้ปัญหาจำลอง เช่น Container ถูก OOM Kill, Service ต่อฐานข้อมูลไม่ได้ และสิทธิ์ Volume ไม่ถูกต้อง

Section 15: จาก Docker สู่ CI/CD, Kubernetes และ Master Workshop

  • Build และ Push Image ใน CI/CD Pipeline
  • เทียบแนวคิด Compose กับ Kubernetes: Pod, Deployment และ Service
  • สาธิตการรัน Image เดียวกันบน Kubernetes ของ Docker Desktop หรือ kind
  • Master Workshop: เก็บงาน BrewTrack ให้ปลอดภัย มี Resource Limit และ Log Rotation พร้อมส่งเข้า Pipeline

รอบอบรมและรูปแบบการอบรม

สำหรับบุคคล — รอบอบรมทั่วไป

ขณะนี้ยังไม่มีรอบอบรมเปิดรับสมัคร ลงชื่อจองไว้ได้เลย ทีมงานจะติดต่อกลับเป็นกลุ่มแรกเมื่อเปิดรอบถัดไป หรือสอบถามทางไลน์ หรือโทร 02-570-8449 หรือ 088-807-9770

สำหรับองค์กร — In-house / Private Training

  • ปรับเนื้อหาให้ตรงกับเครื่องมือและงานจริงของทีม
  • เลือกวันเอง อบรมที่บริษัทหรือออนไลน์สด
  • ออกใบเสนอราคาในนามนิติบุคคลให้ฝ่ายจัดซื้อ
ขอใบเสนอราคาอบรมองค์กร

วิทยากรผู้สอน

คำถามที่พบบ่อย

หลักสูตรนี้ต่างจาก Basic Docker อย่างไร

Basic Docker (2 วัน) ปูพื้นการใช้คำสั่งและแนวคิดของ Container ส่วนหลักสูตรนี้ลงลึกไปที่การใช้งานจริงของทีม ทั้งกลไกภายใน BuildKit, Multi-platform Build, Docker Compose v5 กับระบบหลาย Service, Security, การสแกนช่องโหว่, Registry และการ Debug หลังจากนี้สามารถต่อยอดด้วย DevOps for Full Stack Developers ซึ่งนำ Container เข้า GitLab CI/CD และ Kubernetes หรือ Kubernetes (K8s) Orchestration และ DevSecOps in Practice

ไม่เคยใช้ Docker มาก่อนเลย เรียนได้หรือไม่

เรียนได้ เพราะช่วงเช้าของวันแรกทบทวนพื้นฐานที่จำเป็นให้ แต่เนื้อหาเดินเร็วและลงลึก หากไม่เคยใช้ Command Line หรือไม่เคยเห็น Container เลย แนะนำให้เรียน Basic Docker ก่อน ผู้ที่เคยใช้ Docker มาแล้วจะได้ประโยชน์จากหลักสูตรนี้มากที่สุด

ต้องใช้ Docker Desktop แบบเสียเงินหรือไม่

ไม่จำเป็น Docker Desktop ใช้ฟรีได้สำหรับบุคคลและองค์กรขนาดเล็ก แต่องค์กรขนาดใหญ่ต้องมี Subscription แบบเสียค่าบริการ ผู้เรียนควรตรวจสอบเงื่อนไขขององค์กรตนเอง หากไม่มี Subscription สามารถใช้ Docker Engine บน WSL2 หรือ Linux ซึ่งไม่มีค่า License แทนได้ สถาบันไม่ได้จัดเตรียม License หรือเครื่อง Lab ให้

ต้องเตรียมเครื่องอย่างไร

ผู้เรียนใช้โน้ตบุ๊กของตนเองที่มี RAM 16 GB ขึ้นไป พื้นที่ว่างอย่างน้อย 40 GB และเปิด Virtualization ใน BIOS แล้ว ติดตั้ง Docker Desktop (Windows เปิด WSL2) หรือ Docker Engine, VS Code และ Git ไว้ก่อนวันอบรม และต้องดึง Image จาก Docker Hub ได้ หากเครือข่ายองค์กรใช้ Proxy หรือ Registry Mirror ควรตั้งค่าให้เรียบร้อยก่อน

ใช้ Node.js หรือ Python ในระบบตัวอย่าง

REST API ของระบบ BrewTrack มีให้เลือกทั้ง Node.js และ Python FastAPI โดยมีโค้ดตั้งต้นให้ เพราะหลักสูตรเน้นการ Containerize และการดูแลระบบ ไม่ได้สอนเขียน Framework ผู้เรียนจึงเลือกภาษาที่คุ้นเคยได้ หลักการ Dockerfile และ Compose ที่เรียนใช้ได้กับภาษาอื่นเช่นกัน

หลักสูตรนี้ครอบคลุม Docker Swarm และ Kubernetes หรือไม่

ไม่ครอบคลุม Docker Swarm เพราะองค์กรส่วนใหญ่ใช้ Kubernetes เป็น Orchestrator หลัก ส่วน Kubernetes เป็นการเปรียบเทียบแนวคิดกับ Compose และสาธิตการรัน Image เดียวกันบน Cluster เพื่อปูทาง ผู้ที่ต้องการเรียน Kubernetes เต็มรูปแบบควรเรียน Kubernetes (K8s) Orchestration ต่อ