Docker OS Part 1

เอกสารนี้เป็นเอกสารประกอบการสอนที่ใช้สำหรับวิชา OS ในส่วนเนื้อหาที่เกี่ยวข้องกับ Docker

Introduction

Docker คือ แพลตฟอร์มที่ช่วยในการสร้าง และติดตั้งโปรแกรมซอฟต์แวร์รวมถึง OS และตัวจัดการต่างๆ โดยจะแยกออกจาก OS ที่เราใช้งานอยู่ ให้สามารถใช้งานในการพัฒนาได้ตามความต้องการของผู้ใช้ โดยที่มีองค์ประกอบพื้นฐานดังนี้

  • Docker daemon : จะเป็นส่วนที่คอยติดต่อกับ Docker API และคอยจัดการ Docker Objects เช่น Images, Containers หรือ networks หรืออธิบายง่ายๆ Docker daemon จะเป็นตัวกลางที่ติดต่อกับ daemons อื่นๆ และคอยจัดการ Docker service.

  • Docker clients : ส่วนการทำงานหลักที่จะติดต่อกับ Docker โดยมีผู้ใช้คอยป้อนคำสั่งในการใช้งานและจัดการ Docker หรือใช้การ Remote API ด้วย application ที่รองรับ

  • Docker Desktop : เป็นแอพพลิเคชันที่คอยจัดการ Docker ซึ่งสามารถติดตั้งได้โดยลงบน OS Windows, Linux หรือ MacOS ซึ่งเราการจัดการผ่านแอพพลิเคชันจะเป็นการใช้งานผ่าน micro service ที่ติดต่อผ่าน docker daemon

  • Docker registry : เปรียบเสมือนคลังเก็บของที่เก็บ Docker image ซึ่งสามารถดึงมาใช้งานจาก Docker hub ซึ่งเป็นคลังเก็บ Public registry และถ้าเราต้องการเก็บ image ของเราไว้แบบส่วนตัวสามารถที่จะสร้างและเก็บในรูปแบบ Private registry ได้

  • Docker objects :

    • Docker File → คือเอกสารบอกสูตร (การใช้งาน และคำสั่ง) เพื่อสร้าง Docker Image นั้นๆ

    • Docker Image → เป็นแบบแปลนที่จะใช้สร้างเป็น Docker Container ท่ีประกอบไปด้วยแอปพลิเคชันต่างๆที่จะทำงานเมื่อมีการเรียกใช้งานที่ Docker Container นั้นๆ รวมทั้งมีการตั้งค่า จำลองสภาพแวดล้อม (Environment) ที่จำเป็นสำหรับการทำงานของมันไว้ด้วย

    • Docker Container → เป็นที่บรรจุรวมไว้ทั้งแอปพลิเคชัน, สภาพแวดล้อมที่จำเป็นต่อการทำงาน และองค์ประกอบต่างๆ ที่จำเป็นต่อการทำงานของมัน ซึ่งเราได้สร้างมันมาจาก Docker Image ผ่านการกำหนดโครงสร้างของมันที่ Docker File

Last updated

Assoc. Prof. Wiroon Sriborrirux, Founder of Advance Innovation Center (AIC) and Bangsaen Design House (BDH), Electrical Engineering Department, Faculty of Engineering, Burapha University