คุณต้องการ Docker เป็น Python Developer หรือไม่

Dec 11 2022
ก่อนจะตอบ ต้องเรียนรู้ Docker กันก่อน เรามาหาคำตอบกันก่อนว่า Docker คืออะไร มีไว้ทำอะไร? นักเทียบท่าคืออะไร? Docker เป็นแพลตฟอร์มโอเพ่นซอร์สที่ช่วยให้นักพัฒนาสามารถสร้าง ปรับใช้ รัน อัปเดต และจัดการคอนเทนเนอร์ — คอมโพเนนต์ปฏิบัติการที่เป็นมาตรฐานซึ่งรวมซอร์สโค้ดของแอปพลิเคชันเข้ากับไลบรารีของระบบปฏิบัติการ (OS) และการอ้างอิงที่จำเป็นในการเรียกใช้โค้ดนั้นในทุกสภาพแวดล้อม มันทำงานอย่างไร ? คอนเทนเนอร์เกิดขึ้นได้จากการแยกกระบวนการและความสามารถในการจำลองเสมือนที่สร้างขึ้นในเคอร์เนล Linux

ก่อนจะตอบ ต้องเรียนรู้ Docker กันก่อน เรามาหาคำตอบกันก่อนว่า Docker คืออะไร มีไว้ทำอะไร?

นักเทียบท่าคืออะไร?

Docker เป็นแพลตฟอร์มโอเพ่นซอร์สที่ช่วยให้นักพัฒนาสามารถสร้าง ปรับใช้ รัน อัปเดต และจัดการคอนเทนเนอร์ — คอมโพเนนต์ปฏิบัติการที่เป็นมาตรฐานซึ่งรวมซอร์สโค้ดของแอปพลิเคชันเข้ากับไลบรารีของระบบปฏิบัติการ (OS) และการอ้างอิงที่จำเป็นในการเรียกใช้โค้ดนั้นในทุกสภาพแวดล้อม

มันทำงานอย่างไร ?

คอนเทนเนอร์เกิดขึ้นได้จากการแยกกระบวนการและความสามารถในการจำลองเสมือนที่สร้างขึ้นในเคอร์เนล Linux ความสามารถเหล่านี้ — เช่นกลุ่มควบคุม (Cgroups) สำหรับการจัดสรรทรัพยากรระหว่างกระบวนการ และเนมสเปซสำหรับการจำกัดการเข้าถึงกระบวนการหรือการมองเห็นในทรัพยากรหรือพื้นที่อื่น ๆ ของระบบ — ช่วยให้ส่วนประกอบของแอปพลิเคชันหลาย ๆ ตัวสามารถแบ่งปันทรัพยากรของอินสแตนซ์เดียวของโฮสต์ที่ปฏิบัติการได้ ระบบในลักษณะเดียวกับที่ไฮเปอร์ไวเซอร์เปิดใช้งานเครื่องเสมือน (VM) หลายเครื่อง เพื่อแบ่งปัน CPU หน่วยความจำ และทรัพยากรอื่นๆ ของเซิร์ฟเวอร์ฮาร์ดแวร์เครื่องเดียว

หลังจากเข้าใจพื้นฐานแล้วว่า Docker คืออะไร เรามาเจาะลึกกันว่าเราต้องการ Docker หรือไม่ ? และทำไมเราถึงต้องการสิ่งนี้ในงานประจำวันหรือโครงการเสริม คำตอบคือใช่เราต้องการ Docker เป็นสภาพอากาศและน้ำ ก่อนอื่นมาพูดกันว่าทำไมเราถึงต้องการ Docker ในชีวิตของเราในฐานะ Python Developer

  1. การสร้างและทดสอบแอปในสภาพแวดล้อม Dev ซ้ำๆ
  2. ไม่จำเป็นต้องมีสภาพแวดล้อมในท้องถิ่นและไม่ทำงานในคอมพิวเตอร์ของฉันกับทีมพัฒนา
  3. เปิดใช้แอปใดๆ สำหรับการพัฒนาและทดสอบโดยไม่ต้องใช้ DevOps (Mysql, Redis, Memcached เป็นต้น)
  4. คุณสามารถสร้าง repo ของ docker hub และนำโค้ดของคุณไปใช้ในการผลิตหรือขายอิมเมจของคุณให้กับบริษัทต่างๆ

ฉันคิดว่านี่เป็นเหตุผลที่สำคัญที่สุดสำหรับการเรียนรู้ Docker ในชีวิตของคุณ เนื่องจากอิมเมจ Docker สามารถช่วยคุณสร้างสภาพแวดล้อมใหม่หลังจากการอัพเดทแต่ละครั้ง และคุณมั่นใจได้ว่ามันจะทำงานในการผลิตเหมือนกับที่ทำงานในเครื่องหรือเซิร์ฟเวอร์ dev ของคุณ จากนั้นภาพบางภาพเช่นภาพ Fastapi Gunicorn Docker สามารถเพิ่มเวลาการสร้างอย่างรวดเร็วเป็นวินาที และคุณสามารถตรวจสอบการอัปเดตของคุณได้อย่างรวดเร็วและรับผลลัพธ์กลับมา หลังจากนี้ คุณสามารถเปิดแอปด้านข้างหรือฐานข้อมูลใดก็ได้ด้วยนักเทียบท่า และเริ่มการพัฒนาได้ทันทีด้วยอิมเมจ Docker ที่กำหนดค่าไว้ล่วงหน้า หากคุณอยู่ในบริษัทขนาดเล็กหรือ Startup Docker เป็นหนึ่งในสิ่งสำคัญที่สุดในงานประจำวันของคุณ และเมื่อคุณต้องการจัดส่งโค้ดของคุณไปที่ Production คุณสามารถใช้อิมเมจ Docker ใน CI/CD และในบริษัทพันธมิตรภายในองค์กรพร้อมกับการกำหนดเวอร์ชันที่เหมาะสม

ขอบคุณที่อ่าน. อย่าลืมสมัครรับเนื้อหาใหม่