Docker - การสร้างไฟล์ Web Server Docker

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

ในตัวอย่างของเราเราจะใช้ Apache Web Server บน Ubuntu เพื่อสร้างอิมเมจของเรา มาทำตามขั้นตอนด้านล่างเพื่อสร้างไฟล์ Docker ของเว็บเซิร์ฟเวอร์

Step 1- ขั้นตอนแรกคือการสร้างไฟล์ Docker ของเรา มาใช้กันเถอะvim และสร้างไฟล์ Docker ด้วยข้อมูลต่อไปนี้

FROM ubuntu 
RUN apt-get update 
RUN apt-get install –y apache2 
RUN apt-get install –y apache2-utils 
RUN apt-get clean 
EXPOSE 80 CMD [“apache2ctl”, “-D”, “FOREGROUND”]

ประเด็นต่อไปนี้จำเป็นต้องสังเกตเกี่ยวกับข้อความข้างต้น -

  • ก่อนอื่นเราสร้างภาพของเราให้มาจากอิมเมจพื้นฐานของ Ubuntu

  • ต่อไปเราจะใช้คำสั่ง RUN เพื่ออัปเดตแพ็คเกจทั้งหมดในระบบ Ubuntu

  • ต่อไปเราใช้คำสั่ง RUN เพื่อติดตั้ง apache2 บนรูปภาพของเรา

  • ต่อไปเราใช้คำสั่ง RUN เพื่อติดตั้งแพ็คเกจยูทิลิตี้ apache2 ที่จำเป็นบนรูปภาพของเรา

  • ต่อไปเราใช้คำสั่ง RUN เพื่อล้างไฟล์ที่ไม่จำเป็นออกจากระบบ

  • คำสั่ง EXPOSE ใช้เพื่อแสดงพอร์ต 80 ของ Apache ในคอนเทนเนอร์ไปยังโฮสต์ Docker

  • สุดท้ายคำสั่ง CMD ใช้เพื่อเรียกใช้ apache2 ในพื้นหลัง

เมื่อป้อนรายละเอียดไฟล์แล้วให้บันทึกไฟล์

Step 2 - เรียกใช้ Docker buildคำสั่งเพื่อสร้างไฟล์ Docker สามารถทำได้โดยใช้คำสั่งต่อไปนี้ -

sudo docker build –t=”mywebserver” .

เรากำลังแท็กรูปภาพของเราเป็น mywebserver. เมื่อสร้างภาพแล้วคุณจะได้รับข้อความที่แสดงว่าสร้างไฟล์เสร็จเรียบร้อยแล้ว

Step 3- เมื่อสร้างไฟล์เว็บเซิร์ฟเวอร์แล้วก็ถึงเวลาสร้างคอนเทนเนอร์จากรูปภาพ เราสามารถทำได้ด้วย Dockerrun คำสั่ง

sudo docker run –d –p 80:80 mywebserver

ประเด็นต่อไปนี้ต้องสังเกตเกี่ยวกับคำสั่งดังกล่าว -

  • หมายเลขพอร์ตที่คอนเทนเนอร์เปิดเผยคือ 80 ดังนั้นด้วย –p คำสั่งเรากำลังแมปหมายเลขพอร์ตเดียวกันกับหมายเลขพอร์ต 80 บน localhost ของเรา

  • –dตัวเลือกนี้ใช้เพื่อเรียกใช้คอนเทนเนอร์ในโหมดแยกออก เพื่อให้คอนเทนเนอร์ทำงานในพื้นหลังได้

หากคุณไปที่พอร์ต 80 ของโฮสต์ Docker ในเว็บเบราว์เซอร์ของคุณตอนนี้คุณจะเห็นว่า Apache พร้อมใช้งานแล้ว