docker-compose start「エラー:開始するコンテナーがありません」


97

Docker Compose(Windows上のDocker Machineを使用)を使用して、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

Dockerコンテナーが実行されていないことを確認しました。コンテナを開始するにはどうすればよいですか?

回答:


149

ここでの問題は、実際にコンテナを作成していないことです。これらのコンテナを実行する前に作成する必要があります。docker-compose up代わりに、コンテナーを作成して開始する代わりに使用できます。

または、を実行docker-compose createしてコンテナを作成し、を実行してコンテナdocker-compose startを起動することもできます。


4
何をしdocker-compose buildますか?
Prichmp

8
docker-compose builddocker-compose.ymlファイルから画像を作成します。
JesusTinoco 2016

10
docker-compose create推奨されていません。代わりにupwithコマンドを使用してください--no-start
B12Toaster

23

エラーが表示されたのはその理由であり、コンテナがすでに存在しているdocker-compose startdocker-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.