Working with Docker Images
การทำงานกับ Docker Images
Docker Images เป็นพื้นฐานที่สำคัญสำหรับการทำงานใน Docker เนื่องจาก Docker Container ถูกสร้างจาก Docker Images ที่กำหนดลักษณะและการตั้งค่าของ container การทำงานกับ Docker Images รวมถึงการสร้าง, แก้ไข, และจัดการกับ images เพื่อให้คุณสามารถใช้งานแอปพลิเคชันได้ในทุกสภาพแวดล้อม
คำสั่งพื้นฐานในการทำงานกับ Docker Images
1. ดู Docker Images ที่มีอยู่ในเครื่อง
คำสั่ง docker images ใช้เพื่อดูรายการ Docker Images ที่มีอยู่ในเครื่อง:
docker images
คำสั่งนี้จะแสดงข้อมูลเกี่ยวกับ images ที่มีอยู่ในเครื่องของคุณ เช่น:
REPOSITORY: ชื่อของ Docker ImageTAG: เวอร์ชันของ Docker ImageIMAGE ID: หมายเลข ID ของ Docker ImageCREATED: วันที่ Docker Image ถูกสร้างSIZE: ขนาดของ Docker Image
2. การดึง Docker Image จาก Docker Hub
คุณสามารถดึง Docker Image จาก Docker Hub ซึ่งเป็น registry ของ Docker โดยใช้คำสั่ง docker pull:
docker pull ubuntu:20.04
ในที่นี้:
ubuntu:20.04คือชื่อของ Docker Image ที่คุณต้องการดึงจาก Docker Hub- หากไม่ระบุเวอร์ชัน (tag) Docker จะดึง
latesttag โดยอัตโนมัติ
3. การสร้าง Docker Image จาก Dockerfile
หากคุณมี Dockerfile ที่ใช้สำหรับสร้าง Docker Image คุณสามารถใช้คำสั่ง docker build เพื่อสร้าง Docker Image จาก Dockerfile ดังนี้:
docker build -t my-image .
ในที่นี้:
-t my-imageใช้ในการตั้งชื่อให้กับ Docker Image ที่จะสร้าง.คือที่อยู่ของ Dockerfile (ในที่นี้คือโฟลเดอร์ปัจจุบัน)
4. การลบ Docker Image
หากคุณต้องการลบ Docker Image ที่ไม่ใช้แล้วจากเครื่องสามารถใช้คำสั่ง docker rmi:
docker rmi image_id
ในที่นี้ image_id คือ ID ของ Docker Image ที่คุณต้องการลบ
หากต้องการลบหลาย images พร้อมกัน:
docker rmi image_id1 image_id2
5. การค้นหา Docker Images บน Docker Hub
หากคุณต้องการค้นหา Docker Images ที่มีอยู่ใน Docker Hub สามารถใช้คำสั่ง docker search:
docker search nginx
คำสั่งนี้จะค้นหา Docker Images ที่เกี่ยวข้องกับ nginx บน Docker Hub และแสดงรายชื่อของ images ที่ตรงกับคำค้น
6. การสร้าง Docker Image จาก Container
หากคุณมี Docker Container ที่กำลังทำงานอยู่และต้องการสร้าง Docker Image จาก container นั้น สามารถใช้คำสั่ง docker commit:
docker commit container_id my-new-image
ในที่นี้:
container_idคือ ID ของ container ที่คุณต้องการสร้าง image จากmy-new-imageคือชื่อของ Docker Image ใหม่ที่จะถูกสร้าง
7. การดูข้อมูล Docker Image
หากต้องการดูข้อมูลรายละเอียดของ Docker Image เช่น ข้อมูลเกี่ยวกับ layers หรือการตั้งค่าของ image สามารถใช้คำสั่ง docker inspect:
docker inspect image_id
คำสั่งนี้จะแสดงรายละเอียดทั้งหมดของ Docker Image ที่ระบุ เช่น พาธของไฟล์, ขนาด, และข้อมูลการตั้งค่าภายใน
8. การสร้าง Docker Image ด้วยคำสั่ง docker save
หากต้องการบันทึก Docker Image ลงในไฟล์ tar สามารถใช้คำสั่ง docker save:
docker save -o my-image.tar my-image
ในที่นี้:
-o my-image.tarกำหนดให้บันทึก Docker Image ลงในไฟล์ my-image.tarmy-imageคือชื่อของ Docker Image ที่ต้องการบันทึก
9. การโหลด Docker Image จากไฟล์ tar
หากคุณต้องการโหลด Docker Image จากไฟล์ tar ที่บันทึกไว้ สามารถใช้คำสั่ง docker load:
docker load -i my-image.tar
คำสั่งนี้จะโหลด Docker Image จากไฟล์ my-image.tar ที่คุณบันทึกไว้
การใช้งาน Docker Image ในการสร้าง Container
1. การรัน Container จาก Docker Image
คุณสามารถใช้ Docker Image ที่มีอยู่เพื่อรัน Docker Container ด้วยคำสั่ง docker run:
docker run -d -p 8080:80 my-image
ในที่นี้:
-dใช้เพื่อรัน container ใน background (detached mode)-p 8080:80ทำการแมปพอร์ต 8080 บนเครื่อง host ไปยังพอร์ต 80 ของ containermy-imageคือชื่อของ Docker Image ที่จะใช้ในการสร้าง container
2. การดูข้อมูลเกี่ยวกับ Layers ของ Docker Image
Docker Images ถูกสร้างขึ้นจาก layers แต่ละ layer จะเป็นการเพิ่มข้อมูลบางอย่างเข้าไปใน image โดยใช้คำสั่ง docker history:
docker history my-image
คำสั่งนี้จะแสดงประวัติของ Docker Image และรายละเอียดเกี่ยวกับ layers ที่ประกอบขึ้นมาเป็น image นั้น
3. การบีบอัด Docker Image
หากคุณต้องการบีบอัด Docker Image เพื่อให้มีขนาดเล็กลง สามารถใช้คำสั่ง docker export เพื่อบีบอัด container:
docker export container_id | gzip > my-container.tar.gz
คำสั่งนี้จะทำการบีบอัด container_id และบันทึกเป็นไฟล์ my-container.tar.gz
สรุป
การทำงานกับ Docker Images ช่วยให้คุณสามารถจัดการกับภาพ (image) ที่ใช้ในการสร้าง Docker Containers ได้อย่างสะดวกและมีประสิทธิภาพ โดยใช้คำสั่งต่างๆ เช่น docker pull, docker build, docker rmi, docker commit, และ docker save เพื่อสร้าง, แก้ไข, และจัดการกับ Docker Images คุณสามารถใช้ Docker Images เพื่อสร้าง environment ที่พร้อมใช้งานสำหรับแอปพลิเคชันของคุณในทุกๆ สภาพแวดล้อมที่ต้องการ