อัปเดตล่าสุด Feb. 26, 2024
Docker Compose คือ เครื่องมือหรือคำสั่งที่จะทำให้เราสามารถรัน Docker Containers หลาย ๆ คอนเทนเนอร์ได้อย่างสะดวกและง่ายในคำสั่งเดียว แทนที่จะรันทีละ container ช่วยให้สามารถจัดการแอปพลิเคชันที่ประกอบด้วยหลาย services ได้สะดวก โดยกำหนดการตั้งค่าต่าง ๆ ผ่านไฟล์ docker-compose.yml แทนการใช้คำสั่ง docker run แยกทีละคอนเทนเนอร์
โดย Docker Compose นั้นจะมีรูปแบบดังต่อไปนี้ โดยที่เราสามารถสร้างไฟล์ที่มีชื่อว่า docker-compose.yml
ขึ้นมา แล้วทำการกำหนดค่าต่าง ๆ ลงไป เช่น
version: "3.8"services:web:image: nginx:latestports:- "80:80"volumes:- ./app.html:/usr/share/nginx/html:roapp:image: python:latestcommand: ["python", "app.py"]volumes:- ./src:/app:rw
คำอธิบาย
version
: คือ การระบุเวอร์ชันของไฟล์ docker-compose.ymlservices
: คือ การกำหนด services ต่าง ๆ ที่ประกอบอยู่ในแอปพลิเคชันweb
: คือ บริการเว็บเซิร์ฟเวอร์image
: คือ image ที่ใช้รันคอนเทนเนอร์ports
: คือ การกำหนดเพื่อแมพพอร์ต (port mapping) ระหว่างคอนเทนเนอร์กับโฮสต์volumes
: คือ การกำหนดโวลุ่ม (volume) เพื่อแชร์ข้อมูลระหว่าง host กับคอนเทนเนอร์app
: คือ service แอปพลิเคชัน Python (ในตัวอย่างคือ Flask เฟรมเวิร์ค)command
: คือ คำสั่งที่ใช้รันแอปพลิเคชันภายในคอนเทนเนอร์