Basic Docker 2022

Basic Docker 2022

ยุคปัจจุบันการพัฒนาแอพพลิเคชั่น มีความหลากหลายทั้ง Desktop, Web, Mobile Application ซึ่งในกระบวนการพัฒนาแอพพลิเคชั่นเหล่านี้ล้วนต้องการติดตั้งเครื่องมือและสภาพแวดล้อมๆ ต่างบนเครื่องของเราก่อนเสมอ บ่อยครั้งที่พบปัญหาว่าเราไม่สามารถลงโปรแกรมหรือภาษาในการพัฒนาต่างเวอร์ชั่นกันได้ในเครื่องเดียว ทำให้เกิดความยุ่งยากในการเซ็ตอัพเครื่องมือและปัญหาที่สำคัญคือเมื่อเรานำแอพพลิเคชั่นของเราขึ้นไปทำงานจริงบนเครื่อง production ก็มักพบว่าสภาพแวดล้อมดันไม่เหมือนในเครื่องที่เราใช้ dev ไว้อีก ทำให้ต้องมาไล่แก้ปัญหาทั้งฝั่ง dev และฝั่ง production ให้สอดคล้องกัน ซึ่งค่อนข้างเสียเวลาไปมากในส่วนนี้

ปัญหาดังกล่าวจะหมดไปเมื่อเราลองหันมาใช้ซอฟต์แวร์ช่วยจัดการเรื่องนี้อย่าง Docker ซึ่งเป็นแพลตฟอร์มซอฟต์แวร์ที่ช่วยให้คุณสร้าง ทดสอบ และติดตั้งแอปพลิเคชันใช้จริงได้อย่างรวดเร็ว Docker จะบรรจุซอฟต์แวร์ลงไปในหน่วยที่เป็นมาตรฐานเรียกว่า คอนเทนเนอร์ ซึ่งจะมีทุกสิ่งที่ซอฟต์แวร์ต้องใช้ในการเรียกใช้งาน รวมทั้งไลบรารี เครื่องมือสำหรับระบบ โค้ด และรันไทม์ เมื่อใช้ Docker คุณจะสามารถติดตั้งใช้จริงและปรับขนาดแอปพลิเคชันให้เหมาะกับทุกสภาพแวดล้อม 

สาขากรุงเทพฯ (ลาดพร้าว)
  • ยังไม่มีรอบเปิดอบรม (ลงชื่อจองไว้ได้)
  • สามารถใช้ Docker สร้าง ทดสอบ และติดตั้งแอปพลิเคชันใช้จริงได้อย่างรวดเร็ว
  • ผู้ที่ต้องการสร้างเว็บไซต์แบบ Responsive Design
  • Developers
  • กลุ่มผู้สนใจทั่วไป
  • การใช้งานคอมพิวเตอร์พื้นฐาน
  • ใช้ระบบ Windows หรือ OSX ได้
  • พื้นฐานการค้นหาข้อมูลบนอินเตอร์เน็ต
  • 12 ชั่วโมง
  • ราคาปกติ 6,500 บาท / คน
  • โปรโมชั่นลด 10% เหลือ 5,850 บาท / คน
  • ราคาเหมาจ่าย (ผู้อบรมตั้งแต่ 10 คน) ตามแต่ตกลงกัน
  • ขอใบเสนอราคา

Module 1: การเตรียมเครื่องมือและความพร้อมทั้งบน Mac และ Windows

  • แนะนำสเปกและคุณสมบัติเครื่องที่จะติดตั้งเครื่องมือสำหรับ docker
  • ขั้นตอนการติดตั้ง Docker desktop บน Windows 10 Pro
  • ขั้นตอนการติดตั้ง Docker Toolbox สำหรับ Windows รุ่นเก่ากว่า 10 Pro
  • การติดตั้ง Docker desktop บน MacOS
  • ติดตั้ง Visual Studio Code และส่วนเสริม Docker ที่จำเป็น

Module 2: แนะนำภาพรวมการใช้งาน Docker

  • ความแตกต่างระหว่าง Virtual Machine และ Docker Container
  • ทำไมต้องใช้ Docker และ Containers
  • โครงสร้างและสถาปัตยกรรมของ Docker
  • Workflow ในการทำงานกับ Docker
  • เริ่มต้นใช้งาน Hello World Docker กัน

Module 3: รู้จัก Docker Images และ Containers

  • รู้จัก Docker Images และการนำมาใช้งาน
  • เริ่มต้นสร้าง Container แรกจาก Images ที่ดึงมา
  • การ Stop และ Start Container
  • การแสดงข้อมูลของ Container
  • Life Cycle ของ Container
  • การส่งคำสั่งไปยัง Container ที่กำลังทำงาน
  • Port Mapping ให้กับ Container
  • การกำหนดชื่อให้กับ Container ที่สร้างขึ้น
  • การแสดง Log ของ Container
  • การบริหารและจัดการ Images
  • สรุปคำสั่งพื้นฐานที่จำเป็นในการทำงานกับ Docker

Module 4: การสร้าง Custom Images

  • ทำความเข้าใจกับชั้นของ Images (Image Layers)
  • รู้จัก Dockerfile และเริ่มต้นสร้างใช้งาน
  • การ Build image จาก Dockerfile
  • การกำหนด Working Directory
  • การใช้งาน Network ใน Docker
  • การเพิ่ม Container เข้าไปยัง Network
  • แนวทางการสั่งให้ Container ทำงานพร้อมกับกำหนด Networks
  • การตั้งชื่อให้กับ Custom image ที่สร้างขึ้น
  • การเก็บข้อมูลและไฟล์ต่างๆ บน Volume
  • การทำ Bind Mount และ Bookmark Volume

Module 5: รู้จัก Docker Compose และการจัดการ

  • Docker Compose คืออะไร?
  • เริ่มต้นสร้าง Docker compose แรกกัน
  • โครงสร้างส่วนต่างๆ ใน Docker Compose ไฟล์
  • เริ่ม Build Image แรกจาก Docker compose กัน
  • Workshop สร้าง Docker compose สำหรับ Run WordPress CMS
  • Workshop สร้าง Docker compose สำหรับ Run Python Django

Module 6: Workshop การสร้าง Custom Image Node.js + MongoDB + React + Nginx

  • เริ่มต้นสร้าง Dockerfile
  • ทำการ Build image จาก Dockerfile ที่สร้างขึ้น
  • การ Config Node.js บน docker
  • การกำหนดตัวแปร env ต่างๆ สำหรับฐานข้อมูล MongoDB
  • การตรวจสอบฐานข้อมูล MongoDB บน Docker
  • การเชื่อมต่อ Node.js กับ MongoDB
  • ทดสอบเขียน API ใน Node.js
  • เขียนส่วน Frontend ด้วย React JS
  • เชื่อมต่อ API จาก frontend ด้วย Axios
  • แนวทางแก้ปัญหาเรื่อง CORS
  • แสดงผลข้อมูลจาก API บน Reactjs
  • แนวทางการ Config React+nginx บน Production

Module 7: Workshop การสร้าง Custom Image LAMP Stack (Linux+PHP+Apache+MySQL)

  • เริ่มต้นสร้างไฟล์ Docker Compose ใหม่
  • กำหนดโครงสร้างสำหรับ PHP+Apache
  • กำหนดตัวแปรต่างๆ สำหรับฐานข้อมูล MySQL
  • การเชื่อมต่อ PHP กับ MySQL บน Docker
  • ทดสอบเขียน API ใน PHP
  • ทดสอบเรียกใช้งาน API ทั้งส่วนเพิ่ม ลบ แก้ไข เรียกดูข้อมูล (CRUD)
  • การตั้งค่า Apache+PHP+MySQL ใน Docker สำหรับ Production

Module 8: Workshop การสร้าง Custom Image สำหรับโปรเจ็กต์ Laravel 10 (PHP Dockerized Project)

  • สร้างไฟล์ docker-compose.ym
  • กำหนดตัวแปรต่างๆ สำหรับ Laravel app service ใน Dockerfile
  • กำหนดค่า Nginx service
  • กำหนดค่า MySQL service
  • ทดสอบสร้าง Images สำหรับ Laravel 10
  • ทดสอบเขียน API ใน Laravel 10
  • ทดสอบเรียกใช้งาน API ทั้งส่วนเพิ่ม ลบ แก้ไข เรียกดูข้อมูล (CRUD)
  • การตั้งค่า Laravel 10 สำหรับ Production

Module 9: การเผยแพร่ (Deploy) สู่ Docker Hub

  • รู้จัก Docker Registry
  • การใช้งาน Docker Hub พื้นฐาน
  • การ tag image ไฟล์ที่มีอยู่บนเครื่องเรา
  • การส่งไฟล์ Image (Push) ขึ้นไปยัง Docker Hub
  • การ pull docker images ของเราไปใช้ที่อื่น
  • การเชื่อมต่อ Docker Hub กับ Github ของเรา
  • แนวทางการ Automated build จาก Github
15/06/2023 14:35:34