ไทย

เครื่องมือสำหรับนักพัฒนา · Docker เรียกใช้ตัวแปลงการเขียน Docker

รหัสเวอร์ชันในไฟล์ Compose ล้าสมัย: อะไรมาแทนที่

· พื้นหลัง

docker เขียน การกำหนดค่า

แผนภาพนามธรรมที่แสดงคีย์เวอร์ชันในไฟล์เขียนนั้นล้าสมัย: อะไรมาแทนที่
ภาพประกอบเวกเตอร์ต้นฉบับ ToolAcre

เป็นเวลาหลายปีที่ไฟล์ Compose ทุกไฟล์เริ่มต้นด้วยเวอร์ชัน: '3' โพสต์นี้จะอธิบายว่าหมายเลขใดที่ใช้ในการเลือก เหตุใดข้อกำหนดการเขียนจึงตกหล่น และจะทำอย่างไรกับไฟล์ที่คุณมี

คำเตือนใหม่ในทุกคำสั่ง — 'เวอร์ชันล้าสมัย' ในไฟล์ที่ทำงานไม่มีการเปลี่ยนแปลงมานานหลายปี

คำเตือนใหม่ในทุกคำสั่ง — 'เวอร์ชันล้าสมัย' ในไฟล์ที่ทำงานไม่มีการเปลี่ยนแปลงมานานหลายปี หลักฐาน: ผู้เขียนเริ่มต้นที่บริการและการทดสอบปฏิเสธคีย์เวอร์ชันระดับบนสุด สร้างการลบเวอร์ชันคีย์ด้วยตัวอักษรแบบใช้แล้วทิ้ง จับคู่แหล่งที่มาแต่ละรายการกับเอาต์พุตบริการที่ไม่มีเวอร์ชัน ขอสงวนความเข้ากันได้แบบเดิมสำหรับการตรวจสอบปลายทาง

เหตุการณ์การกำหนดค่ายังเผยให้เห็นว่า ขอบเขตเหตุการณ์การกำหนดค่าที่แยกต่างหากคือผลลัพธ์ที่ได้รับการสนับสนุนคือเอกสารที่จำกัดเวอร์ชันน้อยเพียงฉบับเดียว หลักฐาน: ผลลัพธ์ที่สนับสนุนคือเอกสารหนึ่งฉบับที่ไม่มีเวอร์ชันจำกัด ข้อจำกัดในการเอาคีย์เวอร์ชันนี้ออกคือจุดหยุด ตรวจสอบผลลัพธ์ของบริการที่ไม่มีเวอร์ชันโดยไม่มีพฤติกรรมการผลิต จากนั้นบันทึกการตรวจสอบโฮสต์สำหรับความเข้ากันได้แบบเดิม

พื้นที่เก็บข้อมูลนี้จะตรวจสอบการละเว้นเวอร์ชัน ไม่ใช่ตารางความเข้ากันได้ของกลไกต่อรูปแบบในอดีต

เวอร์ชันใด: เลือกไว้ — รูปแบบไฟล์ 1, 2.x หรือ 3.x โดยแต่ละไฟล์เชื่อมโยงกับ Docker Engine ขั้นต่ำและชุดคีย์ที่อนุญาต หลักฐาน: ไม่มีตารางความเข้ากันได้ของเอ็นจิ้นต่อรูปแบบอยู่ในที่เก็บนี้ พื้นที่เก็บข้อมูลนี้จะตรวจสอบการละเว้นเวอร์ชัน ไม่ใช่ตารางความเข้ากันได้ของกลไกต่อรูปแบบในอดีต ติดตามโทเค็นการลบคีย์เวอร์ชันไปยังเอาต์พุตบริการที่ไม่มีเวอร์ชัน แยกค่าที่เรียงลำดับออกจากฟิลด์ค่าสุดท้าย ความเข้ากันได้แบบเดิมอยู่นอกคอลเลกชัน

ขอบเขตกลไกการกำหนดค่าที่เกี่ยวข้องคือสำหรับส่วนการกำหนดค่านี้ ให้เก็บต้นฉบับสำหรับคำสั่งส่วนการกำหนดค่านี้ และคำเตือนสำหรับส่วนการกำหนดค่านี้ข้างไฟล์ตัวเลือกนี้ หลักฐาน: พื้นที่เก็บข้อมูลไม่ได้ให้รันไทม์หรือข้อพิสูจน์ทางประวัติศาสตร์ที่กว้างขึ้น ใช้ข้อเท็จจริงการลบคีย์เวอร์ชันนี้เพื่อคาดการณ์สมาชิกหนึ่งรายหรือสเกลาร์ในเอาต์พุตบริการที่ไม่มีเวอร์ชัน ตรวจสอบคำเตือนก่อนที่จะตัดสินใจอะไรเกี่ยวกับความเข้ากันได้แบบเดิม

รหัสไม่ได้ระบุว่าทำไมสาขารูปแบบก่อนหน้านี้จึงแยกออกไป ดังนั้นจึงบันทึกคีย์ที่สร้างขึ้นในปัจจุบัน

เหตุใด 2 และ 3 จึงแตกต่างกัน — คีย์ที่เน้นกลุ่มใน 3 ขีดจำกัดทรัพยากรใน 2 และความสับสนที่ทำให้เกิด หลักฐาน: ความแตกต่างในอดีตไม่ได้อธิบายโดยการใช้ตัวแปลง รหัสไม่ได้ระบุว่าทำไมสาขารูปแบบก่อนหน้านี้จึงแยกออกไป ดังนั้นจึงบันทึกคีย์ที่สร้างขึ้นในปัจจุบัน ตัดสินการลบซีเรียลไลซ์คีย์เวอร์ชันออกจากโมเดล การอ้างอิงในเอาต์พุตบริการที่ไม่มีเวอร์ชันจะปกป้องประเภทต่างๆ แต่ไม่มีหลักฐานการปฏิบัติงานสำหรับความเข้ากันได้แบบเดิม

การสังเกตการทำให้เป็นอนุกรมของการกำหนดค่าครั้งที่สองจะถูกเก็บไว้สำหรับส่วนการกำหนดค่านี้ คำสั่งดั้งเดิมสำหรับส่วนการกำหนดค่านี้ และคำเตือนข้างๆ สำหรับส่วนการกำหนดค่านี้ ไฟล์ตัวเลือกนี้ที่ผลลัพธ์การทำให้เป็นอนุกรมของการกำหนดค่าแยกแสดงสำหรับการกำหนดค่าส่วนการกำหนดค่านี้จากบริบทที่ขาดหายไปสำหรับข้อมูลเมตาของรูปภาพส่วนการกำหนดค่านี้อยู่นอกการแปลงการทำให้เป็นอนุกรมของการกำหนดค่า เอาต์พุตการลบคีย์เวอร์ชันนี้จะแยกการตั้งค่าออกจากบริบทที่ไม่พร้อมใช้งาน รักษาผลลัพธ์ของบริการที่ไม่มีเวอร์ชันให้สามารถตรวจสอบได้ และตรวจสอบความเข้ากันได้แบบดั้งเดิมอย่างอิสระ

คำตอบของข้อกำหนด — สคีมาเดียว ไม่มีฟิลด์เวอร์ชัน ฟีเจอร์ควบคุมโดยการใช้ Compose แทน

คำตอบของข้อกำหนด — สคีมาเดียว ไม่มีฟิลด์เวอร์ชัน ฟีเจอร์ควบคุมโดยการใช้ Compose แทน หยุดที่ข้อยกเว้นการลบคีย์เวอร์ชันแทนที่จะคาดเดา การเพิ่มใดๆ ที่เอาต์พุตบริการแบบไร้เวอร์ชันจำเป็นต้องมีเหตุผลเฉพาะการปรับใช้งานซึ่งเชื่อมโยงกับความเข้ากันได้แบบเดิม

ข้อจำกัดข้อยกเว้นการกำหนดค่าอีกประการหนึ่งคือ ขอบเขตข้อยกเว้นการกำหนดค่าที่แยกต่างหากคือ Python และซีแมนทิกส์ Swarm ดั้งเดิมจำเป็นต้องมีการอ้างอิงเวอร์ชัน หลักฐาน: Python และ Swarm semantics แบบดั้งเดิมจำเป็นต้องมีการอ้างอิงเวอร์ชัน เก็บคำสั่งลบคีย์เวอร์ชันเดิมไว้ข้างคำเตือน การเปรียบเทียบจะแสดงผลลัพธ์ของบริการที่ไม่มีเวอร์ชันใดบ้าง และการตัดสินใจความเข้ากันได้แบบเดิมใดที่ยังคงเป็นแบบแมนนวล

จะทำอย่างไรกับไฟล์เก่า — ลบคีย์ออก ตรวจสอบคีย์ v2-only หรือ v3-only และเรียกใช้การกำหนดค่าการเขียนนักเทียบท่า

จะทำอย่างไรกับไฟล์เก่า — ลบคีย์ออก ตรวจสอบคีย์ v2-only หรือ v3-only และเรียกใช้ docker compose config หลักฐาน: การลบเวอร์ชันไม่สามารถตรวจสอบคีย์ดั้งเดิมที่เหลือทั้งหมดได้ สร้างตัวอย่างการลบคีย์เวอร์ชันจากชื่อสังเคราะห์ ทำให้รายการเอาต์พุตบริการที่ไม่มีเวอร์ชันทั้งหมดสามารถตรวจสอบย้อนกลับได้ โดยไม่ต้องเปิดเผยรายละเอียดความเข้ากันได้แบบดั้งเดิมของการผลิต

ตัวอย่างการกำหนดค่าเดียวกันนี้แสดงให้เห็นว่า ขอบเขตตัวอย่างการกำหนดค่าที่แยกจากกันคือเอาต์พุตใหม่ที่เหมาะกับบริการโดยไม่ต้องอ้างสิทธิ์ความเข้ากันได้สากล หลักฐาน: ผลลัพธ์ใหม่เหมาะสมกับบริการโดยไม่ต้องอ้างความเข้ากันได้สากล ข้อเท็จจริงในการลบคีย์เวอร์ชันที่จับคู่ควรปรากฏในเอาต์พุตบริการที่ไม่มีเวอร์ชัน บันทึกบรรทัดนั้นและหลีกเลี่ยงสมมติฐานเกี่ยวกับความเข้ากันได้แบบเดิม

ตัวอย่างการทำงาน: ลบเฉพาะบรรทัดเวอร์ชันหลังจากตรวจสอบคีย์ที่เหลือทั้งหมด

ตัวอย่างการทำงาน: การปรับปรุงเวอร์ชันให้ทันสมัย: ไฟล์ '2.1' — การแก้ไขสามครั้งและความแตกต่างก่อนและหลัง หลักฐาน: ตัวอย่างการปรับปรุงให้ทันสมัยควรลบเฉพาะเครื่องหมายนั้นหลังจากตรวจสอบแล้ว ตัวอย่างการทำงาน: ลบเฉพาะบรรทัดเวอร์ชันหลังจากตรวจสอบคีย์ที่เหลือทั้งหมด แปลผลลัพธ์การลบคีย์เวอร์ชันให้เป็นผลลัพธ์ของบริการที่ไม่มีเวอร์ชันที่สังเกตได้หนึ่งรายการ นักเทียบท่าเป็นเจ้าของคำตัดสินความเข้ากันได้แบบเดิมในภายหลัง

การใช้งานผลการกำหนดค่ายังแสดงให้เห็นสำหรับส่วนการกำหนดค่านี้ เก็บต้นฉบับสำหรับคำสั่งส่วนการกำหนดค่านี้ และคำเตือนข้าง ๆ สำหรับส่วนการกำหนดค่านี้ ไฟล์ผู้สมัครนี้ว่าข้อเท็จจริงผลการกำหนดค่ากำหนดว่าอะไรสำหรับส่วนการกำหนดค่านี้ เบราว์เซอร์ที่สนับสนุนสำหรับส่วนการกำหนดค่านี้ นักเทียบท่ายังคงเป็นเจ้าของคำตัดสินรันไทม์ผลการกำหนดค่า สำหรับตัวดำเนินการส่วนการกำหนดค่านี้ยังคงเป็นเจ้าของนโยบายความปลอดภัยผลการกำหนดค่าที่ตามมา สำหรับพื้นที่เก็บข้อมูลส่วนการกำหนดค่านี้ยังคงต้องการความลับผลการกำหนดค่าที่ถูกลบออก เก็บสำหรับส่วนการกำหนดค่านี้ ความรับผิดชอบเหล่านั้นแยกจากกันเมื่อสำหรับส่วนการกำหนดค่านี้ที่อธิบายบริการที่สร้างขึ้น ความรับผิดชอบในการลบคีย์เวอร์ชันแบบแยก: การแปลงเขียนเอาต์พุตบริการที่ไม่มีเวอร์ชัน พื้นที่เก็บข้อมูลจะลบข้อมูลลับออก และผู้ดำเนินการตรวจสอบความเข้ากันได้แบบดั้งเดิม

ข้อกำหนดเครื่องมือ Python แบบเดิมและพฤติกรรมการปรับใช้ Swarm ไม่ได้อนุมานจากตัวแปลงนี้

สิ่งนี้ไม่ครอบคลุม — Python docker-compose v1 รุ่นเก่า ซึ่งยังคงต้องใช้คีย์ และการตั้งค่าการปรับใช้เฉพาะ Swarm หลักฐาน: Python และ Swarm semantics แบบดั้งเดิมจำเป็นต้องมีการอ้างอิงเวอร์ชัน ข้อกำหนดเครื่องมือ Python แบบเดิมและพฤติกรรมการปรับใช้ Swarm ไม่ได้อนุมานจากตัวแปลงนี้ จำกัดขอบเขตการลบคีย์เวอร์ชันออกเฉพาะสาขาเอาต์พุตบริการที่ไม่มีเวอร์ชันที่แสดงไว้ที่นี่ แบบฟอร์มใกล้เคียงและค่าเริ่มต้นไม่สามารถตอบคำถามความเข้ากันได้แบบเดิมได้

ขีดจำกัดขอบเขตการกำหนดค่าอีกหนึ่งรายการตามมาจากการเก็บคำสั่งดั้งเดิมสำหรับส่วนการกำหนดค่านี้และคำเตือนข้างไฟล์ตัวเลือกนี้ ถือว่าขอบเขตการลบคีย์เวอร์ชันนี้เป็นข้อยกเว้น ต้องการผลลัพธ์บริการที่ไม่มีเวอร์ชันที่แม่นยำมากกว่าการคาดเดาเกี่ยวกับความเข้ากันได้แบบเดิม

ประเด็นสำคัญ: รูปแบบไฟล์มีรูปร่างปัจจุบันเพียงรูปแบบเดียว และคำจำกัดความของบริการที่แปลงใหม่เหมาะสมกับบริการต่างๆ โดยไม่มีบรรทัดเวอร์ชัน

ประเด็นสำคัญ: รูปแบบไฟล์มีรูปร่างปัจจุบันเพียงรูปแบบเดียว และคำจำกัดความของบริการที่แปลงใหม่เหมาะสมกับบริการต่างๆ โดยไม่มีบรรทัดเวอร์ชัน ตรวจสอบการลบคีย์เวอร์ชันเป็นตัวเลือกแหล่งที่มา ฟิลด์โมเดล บรรทัดเอาต์พุตบริการที่ไม่มีเวอร์ชัน และคำเตือน ลบความลับก่อนที่จะตรวจสอบความเข้ากันได้แบบเดิม

สุดท้ายนี้ แหล่งที่มาของการกำหนดค่าที่นำไปใช้ยืนยัน ขอบเขตการตัดสินใจการกำหนดค่าที่แยกจากกันคือความแตกต่างในอดีตไม่ได้ถูกอธิบายโดยการใช้ตัวแปลง หลักฐาน: ความแตกต่างในอดีตไม่ได้อธิบายโดยการใช้ตัวแปลง ปิดการลบเวอร์ชันคีย์อย่างหวุดหวิด: เอาต์พุตบริการแบบไม่มีเวอร์ชันเป็นตัวเลือก ไม่รับประกันความเข้ากันได้แบบเดิมและความเทียบเท่าของเชลล์