Docker เป็นโครงการโอเพ่นซอร์สที่ทำให้การปรับใช้แอปพลิเคชันภายในคอนเทนเนอร์ซอฟต์แวร์เป็นไปโดยอัตโนมัติซึ่งจัดเตรียมเลเยอร์เพิ่มเติมของแอ็พพลิเคชันเวอร์ชวลไลเซชันและระบบอัตโนมัติในระบบปฏิบัติการหลายระบบ
นักเทียบท่า ใช้คุณสมบัติการแยกทรัพยากรของเคอร์เนลลินุกซ์ เช่น cgroups และเนมสเปซเพื่อให้ "คอนเทนเนอร์" อิสระ
ด้วยวิธีนี้ Docker จัดให้คอนเทนเนอร์เหล่านี้ทำงานภายในอินสแตนซ์ Linux เดียวโดยหลีกเลี่ยงค่าใช้จ่ายในการเริ่มต้นและบำรุงรักษาเครื่องเสมือน
การสนับสนุนเคอร์เนลของ Linux สำหรับเนมสเปซจะแยกมุมมองของแอปพลิเคชันเกี่ยวกับสภาพแวดล้อมการทำงาน
รวมถึงแผนผังกระบวนการเครือข่าย ID ผู้ใช้และระบบไฟล์ที่ติดตั้งในขณะที่กลุ่ม cgroups ของเคอร์เนลให้การแยกทรัพยากรซึ่งรวมถึง CPU หน่วยความจำบล็อก I / O และเครือข่าย
เวอร์ชันใหม่ของ Docker 18.09
มีการนำเสนอเวอร์ชันของ Docker Isolated Linux Container Management Toolkit 18.09 ซึ่ง จัดเตรียม API ระดับสูงสำหรับการจัดการคอนเทนเนอร์ในระดับการแยกของแต่ละแอปพลิเคชัน
Docker ช่วยให้คุณสามารถเรียกใช้กระบวนการตามอำเภอใจในโหมดการแยกจากนั้นถ่ายโอนและโคลนคอนเทนเนอร์ที่สร้างขึ้นสำหรับกระบวนการเหล่านี้ไปยังเซิร์ฟเวอร์อื่น ๆ โดยนำงานทั้งหมดออกจากการสร้างดูแลและบำรุงรักษาคอนเทนเนอร์
เมื่อเทียบกับ Docker 18.09 เวลาในการสนับสนุนการเผยแพร่ได้รับประโยชน์เนื่องจากนักพัฒนาเพิ่มขึ้นจาก 4 เป็น 7 เดือน เนื่องจากความทันสมัยของวงจรการพัฒนา Docker Community Edition
อีกหนึ่งจุดแข็งที่เป็นจุดเด่นของ Docker รุ่นใหม่นี้ก็คือ รันไทม์พื้นฐานสำหรับการจัดการคอนเทนเนอร์ได้รับการอัพเดตเป็นรีลีส containererd 1.2
สิ่งนี้ทำให้การใช้กลไกการจัดการคอนเทนเนอร์ gRPC มีความเสถียรและรับประกันความเข้ากันได้กับแพลตฟอร์ม Kubernetes 1.12 และปรับปรุงการรองรับภาพสากลสำหรับสถาปัตยกรรมที่แตกต่างกัน (multi-arch)
ในทางกลับกันใน Docker 18.09 ความเป็นไปได้ของการสร้างแบ็กเอนด์ใหม่ได้รับการขยาย (มีฟังก์ชันการทำงานของคำสั่ง "docker build") เพื่อดำเนินการรวบรวมขยะโดยอัตโนมัติที่ได้รับการสนับสนุนโดยการเปิดใช้งานที่ซ้อนกันและไม่ต้องใช้สิทธิ์ผู้ใช้รูทในระหว่างการดำเนินการ
การปรับปรุง BuildKit
Docker 18.09 ยังมีตัวเลือกในการเลื่อน BuildKit นี้ เป็นสถาปัตยกรรมการสร้างใหม่ที่ปรับปรุงประสิทธิภาพการจัดการพื้นที่จัดเก็บและความสามารถในการขยายขณะที่เพิ่มคุณสมบัติใหม่ที่สำคัญบางอย่าง
การปรับปรุงประสิทธิภาพ: BuildKit มีรูปแบบการทำงานพร้อมกันและแคชที่ออกแบบใหม่ซึ่งทำให้เร็วขึ้นแม่นยำมากขึ้นและพกพาได้มากขึ้น
ด้วยการเปลี่ยนแปลงและการจัดตำแหน่งของสถาปัตยกรรมนี้ด้วย ขณะนี้นักพัฒนา Docker อนุญาตให้อัปเกรดจากเอนจินเวอร์ชันชุมชนไปเป็นเอ็นจินองค์กรด้วยการเปิดใช้งานใบอนุญาตง่ายๆ
สำหรับผู้ใช้เวอร์ชัน Docker Community ในปัจจุบันการย้ายนี้หมายถึงการปลดล็อกคุณสมบัติด้านความปลอดภัยขององค์กรจำนวนมากและเข้าถึงการสนับสนุนระดับองค์กรของ Docker และนโยบายการบำรุงรักษาเพิ่มเติม
เมื่อเทียบกับรุ่นก่อนหน้า
รหัสได้รับการแก้ไขเพื่อจัดระเบียบการทำงานแบบขนานของงานและรูปแบบการแคชก็เปลี่ยนไป ซึ่งทำให้สามารถเพิ่มความเร็วในการประกอบได้อย่างมาก
ตัวอย่างเช่นเมื่อทดสอบความเร็วชุด Moby ของโครงการ Dockerfile เพิ่มขึ้นจาก 2 เป็น 9,5 เท่าเนื่องจากการดำเนินการขั้นตอนการติดตั้งหลายขั้นตอนพร้อมกันโดยไม่สนใจขั้นตอนที่ไม่ได้ใช้และไฟล์ข้อมูลที่เพิ่มขึ้นระหว่างชุดในบริบทมุมมอง
เพิ่มความสามารถในการฝังข้อมูลลับใน Dockerfile และ ถ่ายโอนอย่างปลอดภัยในระหว่างขั้นตอนการสร้างโดยไม่ต้องเก็บไว้ในอิมเมจที่ได้และไม่ต้องติดตั้งในบิลด์แคช
ความสามารถในการส่งต่อ ssh ssh-agent socketsถูกนำไปใช้ตัวอย่างเช่นเพื่อเชื่อมต่อกับที่เก็บส่วนตัวโดยใช้การเชื่อมต่อที่มีอยู่ผ่าน ssh-agent
ตอนนี้ แคชแอสเซมบลีสามารถจัดการได้แยกต่างหากจากรูปภาพ.
เพิ่มคำสั่งใหม่ "docker builder prune" เพื่อล้างแคชและความสามารถในการกำหนดกฎการล้างข้อมูลและอื่น ๆ
หากคุณต้องการทราบข้อมูลเพิ่มเติมอีกเล็กน้อย คุณสามารถเยี่ยมชมลิงค์ต่อไปนี้.