เช่นเดียวกับเครื่องมือในการพัฒนาอื่นๆ การวนซ้ำ “สวัสดีชาวโลก” แบบคลาสสิกเป็นอีกวิธีหนึ่งที่จะช่วยให้คุณก้าวเข้าสู่หน้าประตู
บทช่วยสอนนี้จะสอนเราถึงวิธีการหมุนคอนเทนเนอร์ Hello-World ของ Docker อย่างรวดเร็ว สิ่งนี้สอนเราถึงวิธีการดึงรูปภาพ ใช้รูปภาพที่ดาวน์โหลดมาเพื่อเริ่มคอนเทนเนอร์ และเชื่อมต่อกับเชลล์ของคอนเทนเนอร์ที่ทำงานอยู่
นักเทียบท่าคืออะไร?
ให้เราเริ่มต้นด้วยพื้นฐานและกำหนดว่า Docker คืออะไร Docker เป็นเครื่องมือที่ช่วยให้เราสามารถจัดแพคเกจแอปพลิเคชันและการขึ้นต่อกันที่จำเป็นทั้งหมดไว้ในเอนทิตีเดียวที่เรียกว่าคอนเทนเนอร์
คุณสามารถนึกถึงคอนเทนเนอร์ Docker ว่าเป็นหน่วยปฏิบัติการแบบสแตนด์อโลนน้ำหนักเบาหน่วยเดียวที่รวมแอปพลิเคชันและทุกสิ่งที่จำเป็นในการเรียกใช้แอปพลิเคชันนั้น โดยไม่คำนึงถึงสภาพแวดล้อมของโฮสต์ ซึ่งรวมถึงโค้ดแอปพลิเคชัน รันไทม์ เครื่องมือระบบ ไลบรารีที่จำเป็น การตั้งค่าคอนฟิกูเรชัน และอื่นๆ
ซึ่งจะสร้างสภาพแวดล้อมแบบแยกที่สามารถย้ายและเริ่มต้นในสภาพแวดล้อมใดๆ ได้โดยไม่จำเป็นต้องมีการพึ่งพาและการกำหนดค่าภายนอก
Docker สวัสดีชาวโลกคืออะไร?
หากคุณไม่ใช่คนใหม่ในโลกของการพัฒนา คุณอาจคุ้นเคยกับแนวคิดของโปรแกรม 'hello world'
โปรแกรม “Hello World” เป็นโปรแกรมคอมพิวเตอร์คลาสสิกที่แสดงข้อความ “Hello, World!” ข้อความถึงผู้ใช้ บทบาทของโปรแกรมนี้คือการแสดงไวยากรณ์และคุณสมบัติพื้นฐานที่สุดของภาษาการเขียนโปรแกรมหรือเทคโนโลยี
ในบริบทของ Docker “สวัสดีชาวโลก” หมายถึงรูปภาพธรรมดาๆ ที่เรียกว่าสวัสดีโลก ซึ่งสาธิตวิธีการทำงานของฟีเจอร์นักเทียบท่า เมื่อใช้รูปภาพนี้ คุณจะเรียนรู้วิธีดาวน์โหลดรูปภาพจากแหล่งภายนอกและเรียกใช้คอนเทนเนอร์จากรูปภาพที่ดาวน์โหลดได้ นอกจากนี้ยังสามารถสอนวิธีกำหนดค่าอิมเมจที่กำหนดเองโดยใช้ Dockerfile
ความต้องการ:
ก่อนที่เราจะเรียนรู้วิธีกำหนดค่าและใช้งาน Hello-World ใน Docker คุณต้องแน่ใจว่าคุณมีเครื่องมือและข้อกำหนดดังต่อไปนี้:
- ติดตั้งเครื่องยนต์นักเทียบท่าแล้ว
- สิทธิ์ Sudo หรือรูทเพื่อเรียกใช้คอนเทนเนอร์บนระบบเป้าหมาย
- การเข้าถึงเครือข่ายเพื่อดาวน์โหลดภาพจากแหล่งภายนอก
หากคุณใช้ Windows หรือ macOS คุณสามารถใช้ Docker Desktop ซึ่งเป็นแอปพลิเคชันกราฟิกเพื่อโต้ตอบและจัดการคอนเทนเนอร์ Docker
ใช้งาน Docker Hello World
เมื่อคุณติดตั้ง Docker Engine แล้ว เราสามารถดำเนินการต่อและเรียนรู้วิธีกำหนดค่า 'สวัสดีชาวโลก' พื้นฐานได้
ดึงภาพสวัสดีชาวโลก
ขั้นตอนแรกก่อนที่จะเรียกใช้คอนเทนเนอร์ Docker คือการดึงรูปภาพที่คอนเทนเนอร์นั้นใช้ ในกรณีนี้ เราสนใจภาพลักษณ์สวัสดีชาวโลก
หากต้องการดึงอิมเมจ ให้เปิดเทอร์มินัลแล้วรันคำสั่งดังต่อไปนี้:
$ นักเทียบท่าดึงสวัสดีโลกคำสั่ง “docker pull” บอกให้ Docker Engine ดาวน์โหลดและบันทึกอิมเมจลงในเครื่องท้องถิ่น
ตามค่าเริ่มต้น Docker จะดาวน์โหลดรูปภาพที่ระบุเวอร์ชันล่าสุด โปรดทราบว่ารูปภาพจะถูกดึงมาจาก Docker Hub
หากคุณใช้ Docker Desktop คุณสามารถเปิดแดชบอร์ดและไปที่ส่วน 'รูปภาพ'
จากนั้น ค้นหาส่วนการค้นหาและค้นหารูปภาพสวัสดีชาวโลก คุณควรเห็นรูปภาพ Hello-World อย่างเป็นทางการของ Docker คลิกที่ 'ดึง' เพื่อดาวน์โหลดภาพลงในเครื่องของคุณ
ใช้งาน Docker Hello World Container
เมื่อคุณดาวน์โหลดอิมเมจ Hello-World แล้ว ขั้นตอนต่อไปคือการเรียกใช้คอนเทนเนอร์ตามอิมเมจที่ดาวน์โหลด คุณสามารถทำได้โดยใช้คำสั่งเทอร์มินัลหรือใช้ Docker Desktop ทุกครั้งที่ทำได้
หากต้องการรันคอนเทนเนอร์ Hello-World จากเทอร์มินัล ให้รันคำสั่งดังต่อไปนี้:
$ นักเทียบท่าเรียกใช้สวัสดีชาวโลก
เมื่อคุณรันคำสั่งก่อนหน้า Docker จะพิมพ์ข้อความแสดงว่าคุณได้รันคอนเทนเนอร์สำเร็จแล้ว และรายละเอียดเกี่ยวกับวิธีที่ Docker Engine สามารถรันคอนเทนเนอร์ได้ นอกจากนี้ยังมีคำแนะนำเกี่ยวกับขั้นตอนถัดไปที่คุณสามารถดำเนินการเพื่อเรียนรู้เพิ่มเติมเกี่ยวกับ Docker และความสามารถของ Docker
ใช้งาน Hello World โดยใช้ Dockerfile
Docker มีไฟล์อื่นชื่อ Dockerfile Dockerfile หมายถึงสคริปต์ที่มีชุดคำสั่งเพื่อสร้างอิมเมจ Docker โดยอัตโนมัติ เราสามารถใช้ฟีเจอร์นี้เพื่อสร้างรูปภาพสวัสดีชาวโลกพื้นฐานซึ่งเราสามารถใช้เพื่อสร้างคอนเทนเนอร์ที่พิมพ์ข้อความสวัสดีชาวโลก
เมื่อต้องการทำเช่นนี้ ให้เริ่มต้นด้วยการสร้างไดเร็กทอรีเพื่อจัดเก็บไฟล์:
$ mkdir ข้อมูลพื้นฐานเกี่ยวกับนักเทียบท่าจากนั้นสร้าง Dockerfile:
$ สัมผัส ข้อมูลพื้นฐานเกี่ยวกับนักเทียบท่า / Dockerfileขั้นตอนต่อไปคือการแก้ไขไฟล์ด้วยโปรแกรมแก้ไขที่คุณเลือกและคำแนะนำตามที่แสดงในตัวอย่างต่อไปนี้:
$ ซูโดะ เพราะ ข้อมูลพื้นฐานเกี่ยวกับนักเทียบท่า / Dockerfileเพิ่มคำแนะนำดังต่อไปนี้:
จากกล่องยุ่งซีเอ็มดี เสียงสะท้อน 'สวัสดีจากคอนเทนเนอร์ Docker แบบกำหนดเองของฉัน!'
ใน Dockerfile เราเริ่มต้นด้วยบล็อก FROM ซึ่งกำหนดอิมเมจพื้นฐานที่เราต้องการใช้ ในกรณีนี้ เราใช้อิมเมจ BusyBox ซึ่งเป็นการแจกจ่าย Linux แบบน้ำหนักเบาซึ่งง่ายต่อการจัดแพ็คเกจและใช้งานแม้บนอุปกรณ์เก่าและไม่มีประสิทธิภาพ
ต่อไป เราจะกำหนดบรรทัด CMD ซึ่งระบุคำสั่งให้ดำเนินการเมื่อคอนเทนเนอร์เริ่มทำงาน เราพิมพ์ข้อความสวัสดีพื้นฐานจากรูปภาพที่กำหนดเองในกรณีนี้
เมื่อเราพอใจกับคำแนะนำของ Dockerfile แล้ว เราก็สามารถดำเนินการต่อและสร้างอิมเมจ Docker ได้โดยใช้คำสั่งต่อไปนี้:
$ สร้างนักเทียบท่า -ที กำหนดเองสวัสดีชาวโลก / ข้อมูลพื้นฐานเกี่ยวกับนักเทียบท่า
คำสั่งก่อนหน้านี้ควรสร้างอิมเมจที่เรียกว่า 'custom-hello-world' จากเดสก์ท็อป docker-basics
สุดท้าย คุณสามารถเรียกใช้คอนเทนเนอร์โดยใช้อิมเมจที่กำหนดเองดังที่แสดงในคำสั่งต่อไปนี้:
$ นักเทียบท่ารัน custom-hello-worldเมื่อคุณรันคำสั่งก่อนหน้าแล้ว คุณจะเห็นข้อความที่เรากำหนดไว้ใน Dockerfile ดังนี้:
สวัสดีจากคอนเทนเนอร์ Docker แบบกำหนดเองของฉัน !บทสรุป
ในบทช่วยสอนนี้ เราได้สำรวจพื้นฐานของการทำงานกับอิมเมจ Hello World ของ Docker เพื่อเรียนรู้พื้นฐานของ Docker เราเรียนรู้วิธีดึงรูปภาพ เรียกใช้คอนเทนเนอร์ และสร้างอิมเมจ Docker แบบกำหนดเองโดยใช้ Dockerfile