dockerและdocker-composeดูเหมือนว่าจะโต้ตอบกับ docker เดียวกันไฟล์อะไรคือความแตกต่างระหว่างสองเครื่องมือ
dockerและdocker-composeดูเหมือนว่าจะโต้ตอบกับ docker เดียวกันไฟล์อะไรคือความแตกต่างระหว่างสองเครื่องมือ
คำตอบ:
dockerCLI ถูกนำมาใช้ในการจัดการภาชนะบรรจุบุคคลในเครื่องมือนักเทียบท่า เป็นบรรทัดคำสั่งไคลเอ็นต์ในการเข้าถึง docker daemon api
docker-composeCLI สามารถนำมาใช้ในการจัดการแอพลิเคชันหลายคอนเทนเนอร์ นอกจากนี้ยังย้ายตัวเลือกมากมายที่คุณจะป้อน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