หลังจากใช้ Docker ใช้งานมาได้สักระยะ เลยคิดว่าทำบล็อกขึ้นมาเหมือนกับที่เคยเขียนบล็อก การใช้คำสั่ง Git เลยดีกว่า เพราะบางคำสั่งดูแล้วถ้าไม่ได้ใช้นานๆเข้าอาจจะลืม ไว้ทั้งสำหรับตัวเองกลับมาดูและสำหรับคนอื่นทั่วไปด้วยเลยแล้วกัน

ซึ่งจะไม่เกริ่นว่า Docker คืออะไร มีประโยชน์อะไร อันนี้คิดว่าใครมาเจอบล็อกนี้น่าจะมีความรู้พื้นฐานเรื่อง Docker บ้างแล้ว โดยคำสั่งอาจจะมีไม่ครบถ้วน และอาจจะไม่ครอบคลุม เพราะตัวผมเองใช้ Docker เพียงเพื่อใช้พัฒนางานบนเครื่องตัวเองเท่านั้น ยังไม่เคยใช้บน Production ดังนั้นจึงเน้นคำสั่งพื้นฐานที่ตัวผมเองเคยใช้มาก่อนเป็นหลัก โดยมีดังนี้

คำสั่ง Docker

แสดงเวอร์ชั่น

โหลด Docker image จาก Server มาไว้ในเครื่องเรา (ดู image เพิ่มเติม https://hub.docker.com/)

สร้าง container จาก image ซึ่งถ้าไม่มี image ในเครื่อง มันก็จะโหลดลงมาให้เราอัตโนมัติ โดยจะมี options ดังนี้

  • –name กำหนดชื่อ container name ถ้าไม่ระบุมันจะสุ่มตั้งชื่อมาให้เราเอง
  • -d เป็นการสั่ง container ให้รันแบบ background
  • -e กำหนด Environment ของ Container ต้องดูว่าแต่ล่ะ images มีอะไรให้เราเซ็ตบ้าง
  • -p เป็นการ map port ระหว่าง container เพื่อใช้สื่อสารกัน เช่น container ของ nginx จะใช้ port 80 เป็น default หากต้องการให้ใช้ port 8080 เราก็กำหนดให้เป็น -p 8080:80
  • -v คือการ mount volume เพื่อให้สามารถเรียกใช้ไฟล์ร่วมกันได้ ระหว่าง container กับเครื่องเรา อย่างเช่น /myweb:/var/www/html (ซ้ายคือ path ในเครื่องของเรา และด้านขวาคือ path ใน container)
  • –network ระบุ network ที่ใช้ ถ้าไม่ระบุจะเป็น bridge

แสดงรายการ image ที่มีอยู่ในเครื่องเรา

ลบ image แบบระบุชื่อ image

ลบ image ทั้งหมด

แสดงรายการ container

ลบ container แบบระบุชื่อ container

ลบ container ทั้งหมด

ลบ container ทั้งหมดที่ไม่ทำงาน

หยุดการทำงาน container ทั้งหมด

เพื่อ SSH เข้าไปใน container

ดู container ว่ามีการใช้ resource แค่ใหน เช่น CPU, Memory

ดูรายละเอียด container

ดู IP ของ container ทั้งหมด ถ้าต้องการระบุชื่อ container ให้เว้นวรรคท้ายสุดคำสั่งแล้วตามด้วยชื่อ container ที่ต้องการ

แสดงรายการ network

สร้าง network

ดูรายละเอียด network

คำสั่ง DOCKER COMPOSE

Docker Compose คือ tool ของ docker ที่ช่วยจัดการ container หลายตัวให้ง่ายขึ้น ลองนึกภาพถ้าเรามี container สิบตัวเราจะต้องสั่งทีละตัวๆ ซึ่งค่อนข้างเสียเวลา และทำให้เกิดข้อผิดพลาดได้ แต่ Docker Compose จะให้เราสร้างไฟล์ docker-compose.yml เพื่อควบคุมและการกำหนดค่าต่างๆ ของ container ทั้งหมด ซึ่งสามารถสั่งรันได้โดยไม่กี่คำสั่งเท่านั้น

ใช้ build /re-build container

สั่งให้ container ทำงาน

หยุดการทำงาน container

สั่งให้กลับมาทำงานใหม่กรณีสั่งหยุดด้วยคำสั่ง stop ไปก่อนหน้านั้น

สั่ง restart เพื่อให้ container ทำงานใหม่

หยุดการทำงานรวมถึงลบ containers, networks, volumes, และ images ที่ถูกสร้างโดยคำสั่ง up ทั้งหมด

ยังขาดคำสั่งอื่นๆอีกมากมาย ซึ่งตัวผมเองไม่ค่อยได้ไช้ แต่ถ้ามีคำสั่งใดๆ มาเพิ่มเติมจะมาอัพเดทที่บล็อกนี้หลังอีกครั้งครับ

Author:

ชื่อ ศิริชัย ธีรภัทรสกุล ชื่อเล่น “ตั้ม” ทำงานด้านพัฒนาเว็บไซต์ สนใจเรื่องการพัฒนาตัวเอง หลงใหลการถ่ายรูป เวลาว่างมักชอบอ่านหนังสือ และเขียนบล็อก