เริ่มเขียนนักเทียบท่า“ ข้อผิดพลาด: ไม่มีคอนเทนเนอร์ให้เริ่ม”


98

ฉันกำลังพยายามใช้ Docker Compose (กับ Docker Machine บน Windows) เพื่อเปิดใช้งานกลุ่มคอนเทนเนอร์ Docker

docker-compose.yml ของฉัน:

version: '2'
services:
  postgres:
    build: ./postgres
    environment:
      - POSTGRES_PASSWORD=mysecretpassword
  frontend:
    build: ./frontend
    ports:
      - "4567:4567"
    depends_on:
      - postgres
  backend:
    build: ./backend
    ports:
       - "5000:5000"
    depends_on:
       - postgres

docker-compose buildทำงานได้สำเร็จ เมื่อฉันเรียกใช้docker-compose startฉันจะได้รับผลลัพธ์ต่อไปนี้:

Starting postgres ... done
Starting frontend ... done
Starting backend ... done
ERROR: No containers to start

ฉันยืนยันว่าคอนเทนเนอร์นักเทียบท่าไม่ทำงาน ฉันจะเริ่มคอนเทนเนอร์ได้อย่างไร

คำตอบ:


153

ปัญหาคือคุณยังไม่ได้สร้างคอนเทนเนอร์จริงๆ คุณจะต้องสร้างคอนเทนเนอร์เหล่านี้ก่อนที่จะเรียกใช้ คุณสามารถใช้docker-compose upแทนซึ่งจะสร้างคอนเทนเนอร์แล้วเริ่มต้น

หรือคุณสามารถเรียกใช้docker-compose createเพื่อสร้างคอนเทนเนอร์จากนั้นเรียกใช้docker-compose startเพื่อเริ่มต้น


4
อะไรdocker-compose buildทำอย่างไร
Prichmp

8
docker-compose buildสร้างภาพจากไฟล์ docker-compose.yml ของคุณ
JesusTinoco

11
โปรดทราบว่าdocker-compose createเลิกใช้แล้ว ใช้upคำสั่งด้วย--no-startแทน
B12Toaster

24

สาเหตุที่คุณเห็นข้อผิดพลาดคือdocker-compose startและdocker-compose restartสมมติว่ามีคอนเทนเนอร์อยู่แล้ว

หากคุณต้องการสร้างและเริ่มคอนเทนเนอร์ให้ใช้

docker-compose up

หากคุณต้องการสร้างคอนเทนเนอร์เท่านั้นให้ใช้

docker-compose up --no-start

หลังจากนั้นdocker-compose {start,restart,stop}ควรทำงานตามที่คาดไว้

เคยมีdocker-compose createคำสั่ง แต่ตอนนี้เลิกใช้แล้วเพื่อสนับสนุนdocker-compose up --no-start.

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