ความแตกต่างระหว่างนักเทียบท่าและนักเทียบท่าเขียนอะไร


237

dockerและdocker-composeดูเหมือนว่าจะโต้ตอบกับ docker เดียวกันไฟล์อะไรคือความแตกต่างระหว่างสองเครื่องมือ

คำตอบ:


270

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คำสั่ง การแมปเป็นหนึ่งสำหรับหนึ่งระหว่างสองใช้:

  • เขียนโครงการ -> Swarm Stack: กลุ่มบริการสำหรับวัตถุประสงค์เฉพาะ
  • Compose Service -> Swarm Service: ภาพหนึ่งภาพและการกำหนดค่าของมันอาจจะขยายขึ้น
  • เขียนคอนเทนเนอร์ -> ภารกิจ Swarm: คอนเทนเนอร์เดียวในเซอร์วิส

สำหรับรายละเอียดเพิ่มเติมเกี่ยวกับโหมดจับกลุ่มดูเอกสารโหมดจับกลุ่มนักเทียบท่าของ


76

docker จัดการภาชนะบรรจุเดียว

docker-compose จัดการแอปพลิเคชันคอนเทนเนอร์หลายรายการ

การใช้งานนักเขียนประกอบด้วย 3 ขั้นตอน:

  1. กำหนดสภาพแวดล้อมของแอปด้วยDockerfile
  2. กำหนดบริการแอพในdocker-compose.yml
  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: {}

3
เพื่อประโยชน์ในความชัดเจนบรรทัด build: .ในwebส่วนชี้ไปที่ตำแหน่งของ Dockerfile ที่สร้างขึ้นในขั้นตอนที่ 1
AndrewGentry
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.