วิธีสร้างอิมเมจ Docker จากคอนเทนเนอร์

Withi Srang Ximmec Docker Cak Khxnthennexr



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

บางครั้ง ผู้ใช้ทำการเปลี่ยนแปลงการตั้งค่าคอนเทนเนอร์และการกำหนดค่า แต่การเปลี่ยนแปลงเหล่านี้ไม่ได้ถูกคอมมิตในอิมเมจ Docker หากต้องการบันทึกการเปลี่ยนแปลงคอนเทนเนอร์ในรูปภาพหรือสร้างการสำรองข้อมูลคอนเทนเนอร์ ผู้ใช้จะต้องสร้างอิมเมจใหม่จากคอนเทนเนอร์ เพื่อจุดประสงค์เฉพาะนั้น “ นักเทียบท่ากระทำ ” สามารถใช้คำสั่งได้

คู่มือนี้จะสาธิต:







คำสั่ง “docker commit” คืออะไร?

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



ไวยากรณ์



นักเทียบท่ากระทำ < ตัวเลือก > < ชื่อคอนเทนเนอร์ / รหัสคอนเทนเนอร์ > < รูปภาพ-ชื่อ >

ตัวเลือก





ตัวเลือกต่อไปนี้ใช้กับ ' นักเทียบท่ากระทำ ” เพื่อสร้างรูปภาพจากคอนเทนเนอร์ด้วยวิธีต่างๆ:

< แข็งแกร่ง > ตัวเลือก แข็งแกร่ง > ทีดี >
< ทีดี >< แข็งแกร่ง > คำอธิบาย แข็งแกร่ง > ทีดี >
ตร >
< ตร >
< ทีดี >< แข็งแกร่ง > -ก, --ผู้เขียน แข็งแกร่ง > ทีดี >
< ทีดี > ใช้เพื่อระบุชื่อผู้เขียนที่ทำการเปลี่ยนแปลงคอนเทนเนอร์ ใน รูปภาพ. ทีดี >
ตร >
< ตร >
< ทีดี >< แข็งแกร่ง > -ค, --เปลี่ยน แข็งแกร่ง > ทีดี >
< ทีดี > เพิ่มคำสั่ง Dockerfile เพื่อยืนยันการเปลี่ยนแปลง ใน รูปภาพ ทีดี >
ตร >
< ตร >
< ทีดี >< แข็งแกร่ง > -m, --ข้อความ แข็งแกร่ง > ทีดี >
< ทีดี > เพิ่มข้อความยืนยันหรือความคิดเห็น ในขณะที่ การสร้างภาพจากคอนเทนเนอร์ ทีดี >
ตร >
< ตร >
< ทีดี >< แข็งแกร่ง > -p, --หยุดชั่วคราว แข็งแกร่ง > ทีดี >
< ทีดี > ขณะคอมมิตคอนเทนเนอร์ ตามค่าเริ่มต้น คอนเทนเนอร์จะหยุดหรือหยุดชั่วคราว หากต้องการหยุดคอนเทนเนอร์ไม่ให้หยุดชั่วคราว ' < แข็งแกร่ง > --หยุดชั่วคราว= เท็จ แข็งแกร่ง > ” มีการใช้ตัวเลือก

จะสร้างอิมเมจจากคอนเทนเนอร์ Docker ได้อย่างไร

เมื่อผู้ใช้ทำการเปลี่ยนแปลงในคอนเทนเนอร์ Docker โดยตรงผ่านเชลล์คอนเทนเนอร์หรือไม่โต้ตอบ การเปลี่ยนแปลงเหล่านี้จะไม่แก้ไขสแนปชอตของคอนเทนเนอร์ หากต้องการบันทึกหรือดำเนินการแก้ไข ผู้ใช้สามารถสร้างรูปภาพใหม่จากคอนเทนเนอร์โดยใช้คำสั่ง “ นักเทียบท่ากระทำ ' สั่งการ. นอกจากนี้ยังมีประโยชน์สำหรับการสร้างข้อมูลสำรองของคอนเทนเนอร์ด้วย



หากต้องการสร้างรูปภาพผ่านคอนเทนเนอร์ Docker ให้ทำตามภาพประกอบต่อไปนี้

ขั้นตอนที่ 1: สร้าง Dockerfile

ขั้นแรกให้สร้างไฟล์ใหม่ชื่อ “ Dockerfile ” และอย่าเพิ่มนามสกุลไฟล์ใดๆ ด้วยชื่อไฟล์ หลังจากนั้นให้วางคำสั่งต่อไปนี้ลงใน “Dockerfile”

จาก nginx: ล่าสุด

คัดลอกดัชนี.html / เรา / แบ่งปัน / nginx / html / ดัชนี.html

จุดเริ่มต้น [ 'งิงซ์' , '-ก' , 'ปิดภูต;' ]

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

ขั้นตอนที่ 2: สร้างไฟล์โปรแกรม

ต่อไปให้สร้างไฟล์อื่นขึ้นมา” ดัชนี.html ” และเพิ่มโค้ด HTML ต่อไปนี้ลงในไฟล์:

< html >

< ศีรษะ >

< สไตล์ >

ร่างกาย {

สีพื้นหลัง: RGB ( 9 , 4 , 4 ) ;

}

h1 {

สี:rgb ( 221 , 219 , 226 ) ;

รูปแบบตัวอักษร: ตัวเอียง;

}

สไตล์ >

ศีรษะ >

< ร่างกาย >

< h1 > นี่คือหน้า HTML แรก h1 >

ร่างกาย >

html >

ขั้นตอนที่ 3: สร้างภาพรวมของคอนเทนเนอร์

ตอนนี้สร้างสแน็ปช็อตของคอนเทนเนอร์จาก Dockerfile โดยใช้คำสั่งด้านล่าง ที่นี่ “ -t ตัวเลือก ” ใช้เพื่อตั้งชื่อสแน็ปช็อต:

สร้างนักเทียบท่า -t สาธิต-img

ขั้นตอนที่ 4: เรียกใช้ Snapshot เพื่อเริ่มคอนเทนเนอร์

จากนั้น ให้เริ่มคอนเทนเนอร์โดยเรียกใช้อิมเมจคอนเทนเนอร์ เพื่อจุดประสงค์นี้ ให้ใช้ ' นักเทียบท่ารัน <ชื่อสแนปชอต> ' สั่งการ:

นักเทียบท่าวิ่ง -พี 80 : : 80 --ชื่อ การสาธิตต่อ -d สาธิต-img

ในคำสั่งข้างต้น “ -พี ” ตัวเลือกตั้งค่าพอร์ตการเปิดเผยของคอนเทนเนอร์ “ -ชื่อ ” ระบุชื่อคอนเทนเนอร์และ “ -d ตัวเลือก ” รันคอนเทนเนอร์ในโหมดเดี่ยว:

หลังจากดำเนินการคอนเทนเนอร์แล้ว ให้ไปที่ ' http://localhost:80 ” URL และตรวจสอบว่าโปรแกรมที่บรรจุคอนเทนเนอร์สามารถเข้าถึงได้บนพอร์ตที่เปิดเผยหรือไม่:

ผลลัพธ์ข้างต้นแสดงว่าเราได้เริ่มต้นคอนเทนเนอร์สำเร็จแล้ว

ขั้นตอนที่ 5: สร้างไฟล์โปรแกรมใหม่

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

เพื่อจุดประสงค์นี้ เรามาสร้างไฟล์อื่นชื่อ “ ดัชนี1.html ” และวางรหัสต่อไปนี้ลงในไฟล์:

< html >

< ศีรษะ >

< สไตล์ >

ร่างกาย {

สีพื้นหลัง: RGB ( 106 , 103 , 103 ) ;

}

h1 {

สี:rgb ( 221 , 219 , 226 ) ;

รูปแบบตัวอักษร: ตัวเอียง;

}

สไตล์ >

ศีรษะ >

< ร่างกาย >

< h1 > นี่คือหน้า HTML ที่สอง h1 >

ร่างกาย >

html >

ขั้นตอนที่ 6: คัดลอกไฟล์โปรแกรมใหม่ในคอนเทนเนอร์

หากต้องการคัดลอกไฟล์ใหม่ลงในเส้นทางคอนเทนเนอร์ ให้ใช้คำสั่ง “ นักเทียบท่า cp <ชื่อไฟล์> :<เส้นทางปลายทางของคอนเทนเนอร์> ' สั่งการ. ที่นี่เราได้คัดลอก ' ดัชนี1.html ” ไฟล์ไปที่ “ การสาธิตต่อ ” เส้นทางที่ระบุของคอนเทนเนอร์:

นักเทียบท่า ซีพี index1.html การสาธิตต่อ: / เรา / แบ่งปัน / nginx / html / ดัชนี1.html

ขั้นตอนที่ 7: ยอมรับการเปลี่ยนแปลงคอนเทนเนอร์ในอิมเมจใหม่

หลังจากทำการเปลี่ยนแปลงในคอนเทนเนอร์แล้ว ผู้ใช้จะต้องยอมรับการเปลี่ยนแปลงกับอิมเมจ Docker ใหม่ ภาพนี้จะถูกสร้างขึ้นผ่านคอนเทนเนอร์นักเทียบท่า เพื่อจุดประสงค์นี้ ให้รันคำสั่ง “ นักเทียบท่ากระทำ ' สั่งการ:

นักเทียบท่ากระทำการสาธิตต่อ new-demo-img

บันทึก: ทำการเปลี่ยนแปลงในคอนเทนเนอร์ Docker ก่อนสร้างภาพผ่าน “ นักเทียบท่ากระทำ ” คำสั่งไม่ได้บังคับ ผู้ใช้สามารถใช้ 'docker commit' ได้โดยตรงเพื่อสร้างการสำรองข้อมูลของคอนเทนเนอร์โดยการสร้างอิมเมจ

ขั้นตอนที่ 8: การยืนยัน

หากต้องการตรวจสอบว่าอิมเมจถูกสร้างขึ้นหรือไม่ผ่านคอนเทนเนอร์ ให้แสดงรายการอิมเมจ Docker โดยใช้ปุ่ม “ ภาพนักเทียบท่า ' สั่งการ:

ภาพนักเทียบท่า

ผลลัพธ์ด้านล่างนี้แสดงให้เห็นว่าเราได้สร้าง ' ใหม่-สาธิต-img ' จาก ' การสาธิตต่อ ' คอนเทนเนอร์:

บันทึก: หากต้องการส่งอิมเมจ Docker ไปยังรีจิสตรีฮับ Docker ผู้ใช้ยังสามารถแท็กรูปภาพโดยใช้เครื่องหมาย “ แท็กนักเทียบท่า ' สั่งการ:

แท็กนักเทียบท่า < ชื่อภาพ > < ชื่อพื้นที่เก็บข้อมูล >>< ชื่อภาพ > : : < แท็ก / รุ่น >

ขั้นตอนที่ 9: ลบคอนเทนเนอร์เก่า

ตอนนี้ให้นำภาชนะเก่าออก เพื่อจุดประสงค์นี้ ขั้นแรกให้หยุดคอนเทนเนอร์ Docker โดยใช้เครื่องหมาย “ นักเทียบท่าหยุด <ชื่อคอนเทนเนอร์> ' สั่งการ:

นักเทียบท่าหยุดการสาธิตต่อ

หลังจากหยุดภาชนะแล้ว ให้ใช้ “ นักเทียบท่า rm <ชื่อคอนเทนเนอร์/คอนเทนเนอร์-id> ” เพื่อลบออกจาก Docker:

นักเทียบท่า RM การสาธิตต่อ

ขั้นตอนที่ 10: เรียกใช้คอนเทนเนอร์ใหม่จากอิมเมจที่คอมมิตใหม่

ตอนนี้ ให้เริ่มต้นอินสแตนซ์ใหม่หรือคอนเทนเนอร์ Docker โดยใช้อิมเมจที่สร้างขึ้นใหม่ผ่านทาง “ นักเทียบท่าวิ่ง ' สั่งการ:

นักเทียบท่าวิ่ง -พี 80 : : 80 --ชื่อ การสาธิตต่อ -d ใหม่-สาธิต-img

ตอนนี้นำทางไปยัง “ โฮสต์ท้องถิ่น:80 ” และตรวจสอบว่าแอปพลิเคชัน HTML ทำงานอย่างมีประสิทธิภาพหรือไม่:

เพื่อตรวจสอบไฟล์ที่คัดลอกใหม่ที่เป็น “ ดัชนี1.html ” ให้ใช้ “ http://localhost/index1.html ” URL:

ผลลัพธ์ข้างต้นแสดงให้เห็นว่าการเปลี่ยนแปลงที่คอมมิตได้รับการบันทึกเรียบร้อยแล้วใน ' ใหม่-สาธิต-img ” อิมเมจนักเทียบท่าและเราได้เรียกใช้คอนเทนเนอร์ที่แก้ไขอย่างมีประสิทธิภาพ

จะกำหนดผู้เขียนภาพได้อย่างไร?

นักเทียบท่ากระทำ ” คำสั่งยังรองรับตัวเลือกต่างๆ ในการเพิ่มข้อมูลเพิ่มเติมพร้อมกับการเปลี่ยนแปลงที่คอมมิต เช่น ผู้สร้างการเปลี่ยนแปลงใหม่ คอมมิตข้อความ และอื่นๆ

หากต้องการระบุผู้สร้างรูปภาพที่จะทำการเปลี่ยนแปลงใหม่ ให้ทำตามขั้นตอนที่กำหนด

ขั้นตอนที่ 1: ตั้งค่าผู้เขียนรูปภาพ

หากต้องการระบุผู้เขียนภาพที่กำลังทำการเปลี่ยนแปลง ให้ใช้ปุ่ม “ -ก ' หรือ ' -ผู้เขียน ” ตัวเลือกพร้อมกับ “ นักเทียบท่ากระทำ ' สั่งการ:

นักเทียบท่ากระทำ -ก rafia สาธิตต่อ new-demo-img

ขั้นตอนที่ 2: ตรวจสอบภาพ

หากต้องการตรวจสอบว่ามีการตั้งค่าผู้สร้างรูปภาพหรือไม่ ให้ตรวจสอบรูปภาพที่สร้างขึ้นใหม่โดยใช้ปุ่ม “ นักเทียบท่าตรวจสอบ <ชื่อรูปภาพ> ' สั่งการ:

นักเทียบท่าตรวจสอบ new-demo-img

ผลลัพธ์แสดงให้เห็นว่าเราได้ตั้งค่าผู้เขียนรูปภาพอย่างมีประสิทธิภาพ:

จะตั้งค่าข้อความยืนยันรูปภาพได้อย่างไร

หากต้องการตั้งค่าข้อความคอมมิตพร้อมกับการเปลี่ยนแปลงคอมมิต ให้ใช้คำสั่ง “ -ม ' ตัวเลือก. สำหรับภาพประกอบ ให้ปฏิบัติตามคำแนะนำด้านล่าง

ขั้นตอนที่ 1: ตั้งค่าข้อความยืนยันรูปภาพ

หากต้องการตั้งค่าข้อความพร้อมกับการเปลี่ยนแปลงที่คอมมิต ให้ใช้ปุ่ม “ นักเทียบท่ากระทำ -m <“ข้อความ”> ' สั่งการ:

นักเทียบท่ากระทำ -ก ต้นปาล์มชนิดหนึ่ง -ม 'ภาพนี้สร้างโดยคอนเทนเนอร์' การสาธิตต่อ new-demo-img

ขั้นตอนที่ 2: ตรวจสอบภาพ

หากต้องการตรวจสอบข้อความยืนยัน ให้ตรวจสอบรูปภาพผ่านทาง “ นักเทียบท่าตรวจสอบ <ชื่อรูปภาพ> ' สั่งการ:

นักเทียบท่าตรวจสอบ new-demo-img

ภายใต้ ' ความคิดเห็น ” ผู้ใช้สามารถเห็นข้อความยืนยันดังภาพด้านล่าง:

นั่นคือทั้งหมดที่เกี่ยวกับการสร้างอิมเมจ Docker จากคอนเทนเนอร์

บทสรุป

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