Docker เป็นฟอรัมที่ออกแบบมาเพื่อช่วยนักพัฒนาในการสร้าง ปรับใช้ และรันแอปพลิเคชันคอนเทนเนอร์ เพื่อจุดประสงค์ดังกล่าว จึงมีการใช้อิมเมจ Docker โดยพื้นฐานแล้วอิมเมจนักเทียบท่านั้นเป็นแพ็คเกจปฏิบัติการของแอปพลิเคชันที่มีทั้งหมดที่จำเป็นในการเรียกใช้แอปพลิเคชัน นักพัฒนาสามารถสร้างอิมเมจที่แตกต่างกันสำหรับแอปพลิเคชันทุกประเภท เช่น Java และอื่นๆ อีกมากมาย
ผลลัพธ์จากบล็อกนี้คือ:
จะสร้างอิมเมจโดยใช้ Dockerfile สำหรับแอปพลิเคชัน Java ได้อย่างไร
ดูขั้นตอนต่อไปนี้เพื่อสร้างอิมเมจสำหรับแอปพลิเคชัน Java ผ่าน Dockerfile
ขั้นตอนที่ 1: เข้าถึงโฟลเดอร์ Java
ก่อนอื่น ให้เปิดตัวแก้ไขซอร์สโค้ดที่คุณต้องการ และเข้าถึงโฟลเดอร์ที่มีแอปพลิเคชัน Java ของคุณอยู่ เช่น เราเปิดไฟล์ รหัสวิชวลสตูดิโอ ตัวแก้ไขซอร์สโค้ดแล้วคลิกที่ เปิดโฟลเดอร์… ตัวเลือก:
ตอนนี้ เลือกโฟลเดอร์เฉพาะจากเครื่องของคุณแล้วกด เลือกโฟลเดอร์ ปุ่ม. ที่นี่เราเลือก ชวา1 โฟลเดอร์:
ขั้นตอนที่ 2: เปิดไฟล์แอปพลิเคชัน Java
จากนั้นเปิดโฟลเดอร์แอปพลิเคชัน Java ของคุณแล้วตรวจสอบไฟล์ที่มีอยู่ ในกรณีของเรา มีไฟล์ชื่อเดียวเท่านั้น demo2.java ซึ่งมีรหัสต่อไปนี้:
การสาธิตชั้นเรียน1 {โมฆะคงที่สาธารณะหลัก ( สตริง [ ] หาเรื่อง ) {
System.out.println ( 'สวัสดี ยินดีต้อนรับสู่หน้า LinuxHint ของฉัน' ) ;
}
}
ขั้นตอนที่ 3: สร้าง Dockerfile
จากนั้นคลิกที่ไอคอนที่ไฮไลต์ด้านล่างเพื่อสร้าง Dockerfile:
อย่างที่คุณเห็น Dockerfile ถูกสร้างขึ้นสำเร็จแล้ว:
ขั้นตอนที่ 4: แก้ไข Dockerfile
หลังจากนั้นให้วางโค้ดต่อไปนี้ลงใน Dockerfile:
จาก openjdk: สิบเอ็ดWORKDIR / แอป
คัดลอก .
ซีเอ็มดี [ 'จาวา' , './demo1.java' ]
ที่นี่:
-
- จาก คำสั่งใช้เพื่อตั้งค่าอิมเมจพื้นฐานสำหรับคำสั่งต่อไป ภาพฐานของเราคือ openjdk:11 .
- WORKDIR คำสั่งใช้สำหรับระบุไดเร็กทอรีการทำงานของคอนเทนเนอร์ Docker ในเวลาใดก็ตาม ที่นี่, /แอป เป็นไดเร็กทอรีการทำงาน
- สำเนา คำสั่งใช้สำหรับการคัดลอกไฟล์จากระบบโฮสต์ไปยังอิมเมจ Docker ที่สร้างขึ้นใหม่ ในกรณีของเรา มันจะคัดลอกไฟล์จากไดเร็กทอรีการทำงานปัจจุบันและวางลงในเส้นทางคอนเทนเนอร์ปัจจุบัน
- ซีเอ็มดี คำสั่งใช้สำหรับระบุคำสั่งที่จะดำเนินการเมื่อคอนเทนเนอร์ Docker เริ่มทำงาน ที่นี่, ชวา คือไฟล์ปฏิบัติการและ demo1.java file เป็นพารามิเตอร์:
ขั้นตอนที่ 5: เปิดเทอร์มินัลใหม่
จากนั้นคลิกที่จุดสามจุดที่ไฮไลต์ด้านล่าง เลือก เทอร์มินัล ตัวเลือกแล้วกด เทอร์มินัลใหม่ เพื่อเปิดเทอร์มินัลใหม่:
ขั้นตอนที่ 6: สร้างอิมเมจ Docker
หลังจากทำเช่นนั้น ให้รันคำสั่งที่ให้มาเพื่อสร้างอิมเมจ Docker สำหรับแอปพลิเคชัน Java:
สร้างนักเทียบท่า -ที การสาธิต1 .
ในคำสั่งที่ระบุไว้ข้างต้น:
-
- สร้างนักเทียบท่า คำสั่งใช้ในการสร้างภาพ
- -ที tag ใช้สำหรับระบุชื่อรูปภาพ
- การสาธิต1 คือชื่อภาพของเรา
- . ใช้ในการโหลดภาพ:
ขั้นตอนที่ 7: แสดงรายการรูปภาพ
หากต้องการตรวจสอบว่าอิมเมจ Docker ใหม่ถูกสร้างขึ้นหรือไม่สำหรับแอปพลิเคชัน Java ให้รันคำสั่งต่อไปนี้:
ภาพนักเทียบท่า
ตามเอาต์พุตที่ให้ไว้ด้านล่าง อิมเมจนักเทียบท่าใหม่มีอยู่ในรายการ:
ขั้นตอนที่ 8: เรียกใช้ Build Docker Image
สุดท้ายให้รันอิมเมจ build Docker ผ่านไฟล์ นักเทียบท่าวิ่ง คำสั่งพร้อมกับชื่อรูปภาพ:
นักเทียบท่ารัน demo1
เป็นผลให้มันจะรันรูปภาพและแสดงคำแนะนำทั้งหมดที่มีอยู่:
ปัญหาประเภทใดที่มักเกิดขึ้นขณะสร้างอิมเมจ Docker
ในขณะที่สร้างอิมเมจใหม่บน Docker ผู้ใช้มักจะพบปัญหาหลายประการ ซึ่งมีดังต่อไปนี้:
-
- หากนักพัฒนาใช้เฟรมเวิร์กที่มีประสิทธิภาพของภาษาการเขียนโปรแกรมเพื่อสร้างแอปพลิเคชันได้อย่างสะดวก พวกเขาอาจพบว่าการเขียน Dockerfile เพื่อสร้างอิมเมจแอปพลิเคชันเป็นเรื่องยาก
- รูปภาพที่สร้างขึ้นอาจมีขนาดใหญ่และใช้พื้นที่มากขึ้น เนื่องจากเมื่อผู้ใช้พยายามสร้างรูปภาพ แต่ละคำสั่งภายใน Dockerfile จะสร้างเลเยอร์ของรูปภาพ ซึ่งทำให้โครงสร้างรูปภาพซับซ้อนยิ่งขึ้นและขยายขนาดรูปภาพให้ใหญ่ขึ้น
- หากนักพัฒนารวมซอร์สโค้ดของแอปพลิเคชันไว้ในรูปภาพสุดท้าย อาจทำให้โค้ดรั่วไหลได้
แค่นั้นแหละ! เราได้อธิบายวิธีการสร้างอิมเมจสำหรับแอปพลิเคชัน Java ผ่าน Dockerfile
บทสรุป
อิมเมจนักเทียบท่าประกอบด้วยชุดคำสั่งที่ใช้สำหรับการรันแอปพลิเคชันในคอนเทนเนอร์เช่น ชวา . หากต้องการสร้างอิมเมจโดยใช้ Dockerfile สำหรับแอปพลิเคชัน Java ขั้นแรก ให้เข้าถึงโฟลเดอร์เฉพาะซึ่งมีไฟล์ซอร์สโค้ด Java จากนั้นสร้าง Dockerfile ใหม่และเพิ่มคำสั่งที่จำเป็น หลังจากนั้นให้เปิดเทอร์มินัลแล้วดำเนินการ นักเทียบท่า build -t <ชื่อรูปภาพ> คำสั่งให้สร้างภาพ ในคู่มือนี้ เราได้แสดงขั้นตอนการสร้างอิมเมจใหม่โดยใช้ Dockerfile