คอร์สนี้ถูกออกแบบมาเพื่อ:
- Software Developers: (ทั้ง Front-end และ Back-end) ที่ต้องการนำ Docker มาใช้ในกระบวนการพัฒนาเพื่อแก้ปัญหา "เครื่องฉันรันได้ แต่เครื่องอื่นไม่ได้"
- DevOps Engineers หรือผู้ที่สนใจในสายงาน DevOps ที่ต้องการเรียนรู้เครื่องมือพื้นฐานที่สำคัญที่สุด
- System Admins ที่ต้องการบริหารจัดการแอปพลิเคชันในรูปแบบของ Container
- นักศึกษา หรือผู้เริ่มต้น ที่ต้องการสร้างโปรไฟล์ให้โดดเด่นด้วยทักษะที่เป็นที่ต้องการของตลาด
เพื่อให้เรียนรู้ได้อย่างเต็มประสิทธิภาพ ผู้เรียนควรมีพื้นฐานความเข้าใจเกี่ยวกับการพัฒนาซอฟต์แวร์เบื้องต้น (เช่น รู้ว่า Front-end และ Back-end คืออะไร) และคุ้นเคยกับการใช้งาน Command Line มาบ้าง ไม่จำเป็นต้องมีประสบการณ์กับ Docker หรือ DevOps มาก่อน เพราะเราจะเริ่มสอนตั้งแต่แนวคิดพื้นฐานที่สุดครับ
Docker คือแพลตฟอร์มสำหรับสร้าง (Develop), จัดส่ง (Ship), และรัน (Run) แอปพลิเคชันโดยใช้เทคโนโลยีที่เรียกว่า Container ครับ 📦
ลองนึกภาพว่า Container คือกล่องที่บรรจุทุกอย่างที่แอปพลิเคชันต้องใช้ไว้ในที่เดียว (โค้ด, library, dependencies) ทำให้แอปของเราสามารถรันที่ไหนก็ได้ที่มี Docker ติดตั้งอยู่ ไม่ว่าจะเป็นบนเครื่องเพื่อน, Server, หรือ Cloud โดยจะมีสภาพแวดล้อมเหมือนกันทุกประการ
นี่คือคำถามสุดคลาสสิกเลยครับ ในคอร์สเรามีอธิบายพร้อมตัวอย่างที่ชัดเจน แต่ถ้าให้เปรียบเทียบง่าย ๆ
✅ Docker Image: คือ "พิมพ์เขียว" หรือ "แม่แบบ" ที่ไม่สามารถเปลี่ยนแปลงได้ มันคือชุดคำสั่งที่บอกว่าแอปพลิเคชันของเราต้องมีอะไรบ้าง
✅ Docker Container: คือ "อินสแตนซ์ที่รันอยู่" จากพิมพ์เขียวนั้น ๆ เปรียบเสมือนบ้านที่สร้างเสร็จแล้วจากพิมพ์เขียว เราสามารถสร้าง Container กี่อันก็ได้จาก Image เพียงอันเดียว