จากความเข้าใจ docker คือโปรแกรมที่มาช่วยในการติดตั้งแอปพลิเคชันที่ใช้งานได้อย่างรวดเร็ว โดยจะจำลองระบบปฎิบัติการของเซิร์ฟเวอร์คล้ายกับวิธีการที่เครื่องเสมือนจำลอง โดยจะสามารถจัดการทำงานผ่านทาง docker ได้ ซึ่งจะประกอบไปด้วย
- Docker image
คือ Application ที่มีการ Configuration เอาไว้แล้ว เกิดจากการ build ไฟล์ Dockerfile ขึ้นมาเป็น image - Docker container
คือ container จะถูกสร้างมาจาก Docker Image เกิดเป็น container จะได้ Application ที่สามารถเรียกใช้งานได้ทันที - Docker registry
คือ Docker Image ที่ถูกสร้างแล้วนำไปเก็บรวบรวมไว้บน server (ลักษณะเดียวกับการเก็บ Source Code ไว้บน Github)
ทำไมถึงต้องใช้ docker?
ยกตัวอย่าง เมื่อก่อนที่เราเขียนเว็บไซต์ด้วย php เราก็ติดตั้งโปรแกรมที่ใช้งานสำหรับพัฒนาแอพพลิเคชัน php แล้วเว็บไซต์ที่เราสร้างไปใช้งานเครื่องอื่นก็ต้องติดตั้งโปรแกรมในลักษณะเดียวกัน ซึ่งอาจจะเกิดข้อผิดพลาดขึ้นได้ แต่ถ้าเราสร้างเป็น docker ตั้งแต่แรกก็จะลดข้อผิดพลาดได้และจะมีความรวดเร็วขึ้นในการนำไปใช้งานเครื่องอื่นได้