คอร์สอบรม Docker และ Docker Compose 101

ข้อมูลของคอร์สอบรม

  • วันที่อบรม: อาทิตย์ที่ 20 ตุลาคม 2562 เวลา: 9.00-16.30 น.
  • ค่าอบรม: 2,500 บาท
  • โปรโมชั่นค่าอบรม: เพียง 1,790 บาท (ราคาส่วนลดก่อนวันที่ 15 ตุลาคม 2562)
  • สถานที่อบรม: OASIS Coffee BTS: สถานีอนุสาวรีย์ชัยฯ

tutor4dev line-at

สอบถามเพิ่มเติม และ ลงทะเบียนอบรม LINE ID: @tutor4dev, โทร. 081-572-2129

Prerequisite

  • พื้นฐานการเขียนโปรแกรมภาษาใดก็ได้

เกี่ยวกับคอร์สอบรม

เคยมั๊ยครับ? ในทีมต้องการจะทำโปรเจค ซึ่งสมาชิกในทีมมี Environment เครื่องที่แตกต่างกัน macOS บ้าง Windows บ้าง ซึ่งทีมเลือกใช้ Laravel Framework และกว่าจะสามารถแสดงหน้า Hello World ได้จะต้องติดตั้ง PHP (ซึ่งติดตั้งไม่ง่ายบน Windows) และ MySQL เป็นอย่างน้อย แต่ละเครื่องติดตั้งโปรแกรมโดยวิธีแตกต่างกันเช่น ใช้ Homebrew หรือ ติดตั้ง Stack เช่น XAMPP, MAMP, WAMP, LAMP, etc.

อาจจะมีเครื่องใดเครื่องนึงที่รันโปรเจคไม่ได้เพราะลืมอัพเดท PHP, ในเครื่องมี PHP มากกว่า 1 เวอร์ชั่น, PHP ไม่ได้เปิดใช้งาน Extension บางตัว และ บลาๆๆ ระหว่างทางมีน้องคนใหม่เข้ามาเสริมทีม พี่ๆ จะต้องมาแนะนำน้องในการติดตั้ง Stack ข้างต้นก่อน จึงจะสามารถเข้ามาร่วมในการพัฒนาโปรเจคได้

ยิ่งไปกว่านั้นในขั้นตอน Production ยังจะต้องเอาไป Deploy บน Linux ซึ่งมี Environment แตกต่างกับในตอนพัฒนาอีกต่างหาก

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

เนื้อหาของคอร์สอบรม

Overview

  • ทำความรู้จักกับ Virtualization และ Containerization
  • ทำความรู้จักกับ Docker
  • ติดตั้ง Docker Toolbox สำหรับ Windows < 10
  • ติดตั้ง Docker Desktop สำหรับ macOS และ Windows 10

Docker Container

  • การสร้าง Container
  • การ Stop/Start Container
  • การทำลาย Container
  • การใช้งาน Container ใน Mode Interactive/Detach
  • การตั้งค่าพื้นฐานให้กับ Container
  • การใช้บริการจาก Container
  • การเข้าใช้งานภายใน Container
  • การ Copy ไฟล์ระหว่างเครื่อง Host และ Container

Docker Network

  • Docker Network Overview
  • host Network
  • bridge Network
  • User-defined bridge Network

Docker Storage

  • Binding Data
  • Persistent Data
  • Data Volume
  • Sharing Data จาก Host
  • Sharing Data ระหว่าง Container

Docker Image

  • การ Pull Image
  • การสร้าง Container จาก Image
  • การสร้าง Image และ การเขียน Dockerfile
  • การ Publish Image ไปยัง Docker Hub

Docker Compose

  • Declarative Environment และ Docker Compose
  • การสร้าง Service และ การเขียน docker-compose.yml
  • การ Stop/Start Container
  • การ Build/Start/Rebuild Service
  • การทำลาย Service

Workshop

  • PHP+ MySQL + phpMyAdmin
  • Express.js API (Node.js + NGINX)
  • Single Page Application (Vue.js + NGINX)
  • mongoDB + Sharding