docker-soạn start “LỖI: Không có vùng chứa nào để bắt đầu”


96

Tôi đang cố gắng sử dụng Docker Compose (với Docker Machine trên Windows) để khởi chạy một nhóm các vùng chứa Docker.

Docker-compos.yml của tôi:

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 buildchạy thành công. Khi tôi chạy, docker-compose starttôi nhận được kết quả sau:

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

Tôi đã xác nhận rằng các bộ chứa docker không chạy. Làm cách nào để bắt đầu các vùng chứa của tôi?

Câu trả lời:


148

Vấn đề ở đây là bạn chưa thực sự tạo vùng chứa. Bạn sẽ phải tạo các vùng chứa này trước khi chạy chúng. Bạn có thể sử dụngdocker-compose up thay thế, điều đó sẽ tạo các vùng chứa và sau đó khởi động chúng.

Hoặc bạn có thể chạy docker-compose createđể tạo các vùng chứa và sau đó chạy docker-compose startđể bắt đầu chúng.


4
Làm gì docker-compose build?
Prichmp

8
docker-compose buildtạo hình ảnh từ tệp docker-compost.yml của bạn.
JesusTinoco

8
Lưu ý rằng docker-compose createkhông được dùng nữa. Sử dụng uplệnh với --no-startthay thế.
B12Toaster

21

Lý do tại sao bạn thấy lỗi là như vậy docker-compose startdocker-compose restartgiả sử rằng các vùng chứa đã tồn tại.

Nếu bạn muốn xây dựng và bắt đầu các vùng chứa, hãy sử dụng

docker-compose up

Nếu bạn chỉ muốn xây dựng vùng chứa, hãy sử dụng

docker-compose up --no-start

Sau đó, docker-compose {start,restart,stop}sẽ hoạt động như mong đợi.

Đã từng sử dụng một docker-compose createlệnh, nhưng nó không bị phản đối khi ủng hộ docker-compose up --no-start.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.