บทความนี้จะให้คำแนะนำเกี่ยวกับการสร้าง Docker แบบหลายขั้นตอน
คู่มือสำหรับผู้เริ่มต้นสำหรับการสร้างนักเทียบท่าหลายขั้นตอน
ในการสร้างอิมเมจ Docker ผ่าน Dockerfile อย่างง่าย และการสร้าง Dockerfile แบบหลายขั้นตอน โปรดดูวิธีการที่ระบุไว้:
- จะสร้างอิมเมจนักเทียบท่าอย่างง่ายได้อย่างไร
- จะสร้างอิมเมจ Docker จาก Multistage Dockerfile ได้อย่างไร
จะสร้างอิมเมจนักเทียบท่าอย่างง่ายได้อย่างไร
หากต้องการสร้างอิมเมจ Docker อย่างง่ายโดยใช้ Dockerfile อย่างง่าย ให้ทำตามคำแนะนำที่ให้ไว้
ขั้นตอนที่ 1: เปิดเทอร์มินัล
จาก Windows “ สตาร์ทอัพ ” เมนู เปิดเทอร์มินัล Git:
ขั้นตอนที่ 2: สร้างไดเร็กทอรีใหม่
จากนั้น สร้างไดเร็กทอรีโครงการใหม่โดยใช้คำสั่งที่กำหนด:
หลังจากนั้นให้เปิดไดเร็กทอรีโครงการด้วยความช่วยเหลือของ ' ซีดี ' สั่งการ:
$ ซีดี หลายขั้นตอน
ขั้นตอนที่ 3: สร้างไฟล์โปรแกรม
สร้างและเปิดไฟล์โปรแกรมใหม่เพื่อใช้ “ โกลัง ' โปรแกรม. ตัวอย่างเช่น เราได้สร้าง “ main.go ' ไฟล์:
วางรหัสที่ให้ไว้ใน “ main.go ' ไฟล์. โปรแกรมนี้จะพิมพ์ผลลัพธ์อย่างง่าย “ สวัสดี! ยินดีต้อนรับสู่การสอน LinuxHint ” บนโลคัลโฮสต์:
นำเข้า ('เอฟเอ็มที'
'บันทึก'
'เน็ต/http'
)
ฟังก์ชั่น ตัวจัดการ ( ว http . ResponseWriter , ร * http. ขอ ) {
เอฟเอ็มที . พิมพ์ ( ใน , 'สวัสดี! ยินดีต้อนรับสู่บทช่วยสอน LinuxHint' )
}
ฟังก์ชั่น หลัก () {
http . จัดการFunc ( '/' , ตัวจัดการ )
บันทึก . ร้ายแรง ( http . ฟังและให้บริการ ( '0.0.0.0:8080' , ไม่มีเลย ))
}
กด ' CTRL+O ” เพื่อบันทึกการเปลี่ยนแปลงและ “ CTRL+X ” เพื่อออก
ขั้นตอนที่ 4: สร้าง DockerFile
สร้างและเปิด Dockerfile ใหม่ในโปรแกรมแก้ไขข้อความ Nano โดยใช้ ' ไฟล์นักเทียบท่านาโน ' สั่งการ:
วางรหัสต่อไปนี้ใน ' ไฟล์นักเทียบท่า ” ที่จะแนะนำคอนเทนเนอร์เกี่ยวกับวิธีการปรับใช้โครงการ:
จากโกลัง: 1.8เวิร์คดีอาร์ / ไป / src / แอป
คัดลอก main.go
RUN ไปสร้าง -O เว็บเซิร์ฟเวอร์ .
ซม [ './เว็บเซิร์ฟเวอร์' ]
กด ' CTRL+O ” เพื่อบันทึกไฟล์และ “ CTRL+X ” เพื่อออกจากตัวแก้ไข:
ขั้นตอนที่ 5: สร้างอิมเมจนักเทียบท่า
ด้วยความช่วยเหลือของ Dockerfile สร้างอิมเมจ Docker ใหม่ผ่าน ' สร้างนักเทียบท่า ' สั่งการ. “ -t แท็ก ” ใช้เพื่อระบุแท็กรูปภาพ/ชื่อ:
ขั้นตอนที่ 6: เรียกใช้อิมเมจนักเทียบท่า
หลังจากสร้างอิมเมจ Docker ให้ใช้คำสั่งด้านล่างเพื่อเรียกใช้อิมเมจ Docker “ -หน้า ” ตัวเลือกใช้เพื่อระบุหมายเลขพอร์ตที่คอนเทนเนอร์ Docker จะดำเนินการโปรแกรม:
หลังจากนั้น ไปที่ “ http://localhost:8080 ” เพื่อตรวจสอบว่าแอปพลิเคชันทำงานอยู่หรือไม่:
จากผลลัพธ์ด้านบน คุณจะเห็นว่าเราปรับใช้แอปพลิเคชันบน localhost สำเร็จแล้ว:
ขั้นตอนที่ 7: ตรวจสอบอิมเมจ Docker
สุดท้าย ดำเนินการ “ ภาพนักเทียบท่า <ชื่อภาพ> ” คำสั่งเพื่อตรวจสอบข้อมูลเพิ่มเติมเกี่ยวกับอิมเมจ Docker ที่สร้างขึ้นใหม่:
สังเกตได้ว่าขนาดของอิมเมจ Docker นั้นใหญ่เกินกว่าจะรันโปรเจ็กต์ขนาดเล็กได้ ในสถานการณ์ดังกล่าว สามารถใช้บิลด์หลายขั้นตอนเพื่อลดขนาดอิมเมจของ Docker:
จะสร้างอิมเมจ Docker จาก Multistage Dockerfile ได้อย่างไร
หากต้องการสร้าง Dockerfile แบบหลายขั้นตอนเพื่อแบ่งกระบวนการพัฒนาออกเป็นขั้นตอนต่างๆ และลดขนาดภาพ โปรดดูขั้นตอนที่จัดเตรียมไว้
ขั้นตอนที่ 1: เปิด Dockerfile
ก่อนอื่นให้เปิด Dockerfile ใน ' โปรแกรมแก้ไขข้อความนาโน ” ผ่านคำสั่งดังกล่าว:
ขั้นตอนที่ 2: สร้างไฟล์นักเทียบท่าหลายขั้นตอน
วางรหัสต่อไปนี้ใน Dockerfile สังเกตได้ว่าไฟล์ Docker มีมากกว่าหนึ่ง “ จาก คำสั่ง ” ซึ่งหมายความว่าเรากำลังสร้าง Dockerfile แบบหลายขั้นตอน:
เวิร์คดีอาร์ / ไป / src / แอป
คัดลอก main.go
RUN ไปสร้าง -O เว็บเซิร์ฟเวอร์ .
จากเทือกเขาแอลป์
เวิร์คดีอาร์ / แอป
สำเนา --จาก = ฐาน / ไป / src / แอป / แอป /
ซม [ './เว็บเซิร์ฟเวอร์' ]
กด ' CTRL+O ” เพื่อบันทึกการเปลี่ยนแปลงและ “ CTRL+X ” เพื่อออกจากตัวแก้ไข
ขั้นตอนที่ 3: สร้างอิมเมจนักเทียบท่า
ตอนนี้ สร้างอิมเมจ Docker ใหม่ด้วยความช่วยเหลือของการสร้างแบบหลายขั้นตอน เพื่อจุดประสงค์นี้ ให้รันคำสั่งที่กำหนด:
ตรวจสอบข้อมูลเพิ่มเติมเกี่ยวกับอิมเมจ Docker อีกครั้งผ่าน ' ภาพนักเทียบท่า ' สั่งการ:
$ ภาพนักเทียบท่า ภาพเว็บใหม่ผลลัพธ์แสดงว่าเราสร้างไฟล์นักเทียบท่าสำเร็จแล้ว และขนาดของไฟล์นักเทียบท่าก็ลดลงเหลือเพียง “ 12.9MB ”:
ขั้นตอนที่ 4: เรียกใช้อิมเมจนักเทียบท่า
สุดท้าย เรียกใช้อิมเมจ Docker เพื่อเรียกใช้คอนเทนเนอร์เพื่อตรวจสอบว่าอิมเมจ Docker ทำงานอย่างถูกต้องหรือไม่:
เปิดเซิร์ฟเวอร์โฮสต์ภายในโดยไปที่ ' http://localhost:8080 ” บนเบราว์เซอร์:
ผลลัพธ์แสดงว่าเราได้ปรับใช้โปรแกรมสำเร็จผ่านการสร้างแบบหลายขั้นตอน
บทสรุป
โครงสร้างหลายขั้นตอนของ Docker ระบุชุดของการสร้างเป็นขั้นตอน หากต้องการสร้าง Dockerfile แบบหลายขั้นตอน ให้ระบุคำสั่ง “FROM” มากกว่าหนึ่งคำสั่ง และอ้างอิงถึง “ จาก คำสั่งเป็นฐานสร้าง หลังจากนั้นให้สร้างอิมเมจ Docker ใหม่โดยใช้ ' นักเทียบท่า build -t