เคยไหมบางครั้งเราเขียนโค๊ดเสร็จรันได้ไม่มีปัญหา แต่พอขึ้น Production รันบน server ดันมีปัญหา หรือใช้ libraries บางตัวไม่ได้ เพราะมี Environment ไม่เหมือนกัน เพราะฉนั้น Docker เลยมาแก้ไขปัญหาโดยการจำลอง Environment ของเครื่องเรากับเครื่อง server ให้เหมือนกัน เพื่อใช้รัน services ต่างๆของ Application ซึ่ง โดยรวมแล้วก็ทำงานเหมือนกับ Visual Machine แต่ มีข้อแตกต่างกันคือ Visual Machine ต้องรันผ่าน Guest OS อีกรอบ แต่ Docker ไม่จำเป็นต้องมี Guest OS เพราะรันผ่าน Host OS โดยตรง ทำให้เร็วกว่าและไม่มี Down Time

Docker image คืออะไร

Docker image เป็นเหมือนตัวต้นแบบของ container ซึ่งภายในจะประกอบด้วย application ต่างๆ ที่มีการติดตั้งไว้เพื่อใช้งานสำหรับ service นั้นๆ รวมทั้งมีการ config ค่าต่างๆ ไว้เรียบร้อยแล้ว จากนั้นก็นำมาสร้างเป็น docker image บน registry เพื่อนำใช้งาน ทั้งนี้ผู้ใช้งานสามารถยังสร้าง docker image สำหรับใช้งานเองได้อีกด้วย

Docker container คืออะไร

Docker container สามารถมองได้เสมือนกล่อง ซึ่งนำ docker image มาติดตั้ง เพื่อให้สามารถใช้งาน service ที่ต้องการจาก image นั้นๆ ได้ โดยใน container แต่ละตัวจะมีการใช้งาน RAM, CPU, ไฟล์ config ต่างๆ เป็นของแต่ละ container เอง และยังสามารถสั่ง start, stop ได้ที่ container นั้นๆ อีกด้วย

Docker Registry คืออะไร

เปิดให้ใช้ใน SaaS หรือ Enterprise ใช้สำหรับ deploy image หรือกระจายการทำงานของ Image หรือ share container image

Docker Engine คืออะไร

เป็นโปรแกรมที่ใช้สร้าง รวบรวม และรันแอปพลิเคชั่น container ซึ่งจะรันใน Physical หรืแ Vitual machine แบบ local หรือ รันแบบ private กับ public บน cloud

Docker Client คืออะไร

เป็นเครื่องมือที่เอาไว้ใช้ติดต่อกับ engine สำหรับ exeute commands