Docker คืออะไร
Docker เป็นแพลตฟอร์มแบบรหัสเปิด (Open source) ที่ช่วยให้นักพัฒนาสามารถสร้าง ทดสอบ และติดตั้งแอปพลิเคชันใช้จริงได้อย่างรวดเร็ว Docker จะบรรจุซอฟต์แวร์ลงไปในหน่วยที่เป็นมาตรฐานเรียกว่า คอนเทนเนอร์ (Container) ซึ่งจะมีทุกสิ่งที่ซอฟต์แวร์ต้องใช้ในการเรียกใช้งาน รวมทั้ง Library, System tool, Code และ Runtime
-
- ความเป็นมาของ Docker Docker เป็นเทคโนโลยีที่ถูกพัฒนาขึ้นโดย Docker, Inc. เพื่อช่วยในการสร้างและจัดการกับการทำงานของแอปพลิเคชันภายใน containers หรือ “คอนเทนเนอร์” ซึ่งเป็นพื้นที่แยกกันสำหรับการรันแอปพลิเคชันแต่ละตัว โดยที่ไม่ต้องกังวลเรื่องของการติดตั้งและสภาพแวดล้อมที่แตกต่างกัน
- คอนเทนเนอร์ (Containers) Containers คือพื้นที่ที่มีทุกอย่างที่แอปพลิเคชันต้องการทำงานอยู่ภายในมัน ซึ่งรวมถึงรหัสทุกอย่างที่จำเป็น, ไลบรารี, และแฟ้มต่างๆ ที่ใช้ในการทำงาน การใช้ containers ช่วยลดปัญหาที่เกิดขึ้นเมื่อต้องการรันแอปพลิเคชันในสภาพแวดล้อมที่ต่างกัน
- Docker Engine Docker Engine เป็นส่วนหลักของ Docker ที่ทำหน้าที่จัดการกับ containers และการทำงานของแอปพลิเคชันภายใน containers นั้น ๆ ซึ่งประกอบด้วย Docker daemon, REST API, และ Docker CLI ซึ่งให้ความสามารถในการสร้าง, สั่งการ, และจัดการ containers
- Docker Images Docker Images เป็นแบบแม่แบบของ containers ที่กำหนดวิธีการทำงานและสภาพแวดล้อมที่แอปพลิเคชันต้องการ เมื่อมีการสร้าง containers จะใช้ Docker Images เหล่านี้เป็นพื้นฐาน
- Docker Compose Docker Compose เป็นเครื่องมือที่ช่วยในการจัดการกับการรันและเชื่อมต่อระหว่าง containers หลาย ๆ ตัว เพื่อให้ง่ายต่อการทำงานร่วมกันของแอปพลิเคชันที่ต้องการทรัพยากรหลายประการ
- ประโยชน์ของ Docker
- Portability (ความเคลื่อนย้ายได้): Containers ทำให้แอปพลิเคชันสามารถทำงานได้ในทุกสภาพแวดล้อม
- Scalability (ความขยายได้): สามารถเพิ่มหรือลด containers ตามความต้องการของแอปพลิเคชัน
- Isolation (ความเป็นอิสโอเลชัน): Containers ทำงานแยกกันและไม่มีผลกระทบกัน
- Efficiency (ประสิทธิภาพ): ลดการใช้ทรัพยากรและเวลาในการติดตั้งแอปพลิเคชัน