docker
และdocker-compose
ดูเหมือนว่าจะโต้ตอบกับ docker เดียวกันไฟล์อะไรคือความแตกต่างระหว่างสองเครื่องมือ
docker
และdocker-compose
ดูเหมือนว่าจะโต้ตอบกับ docker เดียวกันไฟล์อะไรคือความแตกต่างระหว่างสองเครื่องมือ
คำตอบ:
docker
CLI ถูกนำมาใช้ในการจัดการภาชนะบรรจุบุคคลในเครื่องมือนักเทียบท่า เป็นบรรทัดคำสั่งไคลเอ็นต์ในการเข้าถึง docker daemon api
docker-compose
CLI สามารถนำมาใช้ในการจัดการแอพลิเคชันหลายคอนเทนเนอร์ นอกจากนี้ยังย้ายตัวเลือกมากมายที่คุณจะป้อนdocker run
ลงในdocker-compose.yml
ไฟล์ลงในไฟล์เพื่อให้นำมาใช้ใหม่ได้ง่ายขึ้น มันทำงานเป็น "สคริปต์" ส่วนหน้าสุดของ api docker เดียวกันที่ใช้โดยdocker
คุณสามารถทำทุกอย่างได้docker-compose
ด้วยdocker
คำสั่งและเชลล์สคริปต์จำนวนมาก ดูเอกสารเกี่ยวกับเรื่องนี้นักเทียบท่า-เขียนสำหรับรายละเอียดเพิ่มเติม
อัพเดทสำหรับโหมด Swarm
เนื่องจากคำตอบนี้ถูกโพสต์นักเทียบท่าได้เพิ่มการใช้งานไฟล์ docker-compose.yml ครั้งที่สอง เริ่มต้นด้วยรูปแบบ 3 ymlและนักเทียบท่า 1.13 คุณสามารถใช้ yml พร้อมกับนักเทียบท่าและเพื่อกำหนดสแต็คในโหมดจับกลุ่มของนักเทียบท่า ในการดำเนินการหลังคุณจำเป็นต้องใช้docker stack deploy -c docker-compose.yml $stack_name
แทนdocker-compose up
แล้วจัดการกองซ้อนด้วยdocker
คำสั่งแทนdocker-compose
คำสั่ง การแมปเป็นหนึ่งสำหรับหนึ่งระหว่างสองใช้:
สำหรับรายละเอียดเพิ่มเติมเกี่ยวกับโหมดจับกลุ่มดูเอกสารโหมดจับกลุ่มนักเทียบท่าของ
docker
จัดการภาชนะบรรจุเดียว
docker-compose
จัดการแอปพลิเคชันคอนเทนเนอร์หลายรายการ
การใช้งานนักเขียนประกอบด้วย 3 ขั้นตอน:
docker-compose up
เพื่อเริ่มและเรียกใช้แอพด้านล่างเป็นตัวอย่างdocker-compose.yml ที่นำมาจากdocer docker :
services:
web:
build: .
ports:
- "5000:5000"
volumes:
- .:/code
- logvolume01:/var/log
links:
- redis
redis:
image: redis
volumes:
logvolume01: {}
build: .
ในweb
ส่วนชี้ไปที่ตำแหน่งของ Dockerfile ที่สร้างขึ้นในขั้นตอนที่ 1