web-dev-qa-db-ja.com

docker-composeプロジェクトの自動起動を無効にする

Docker for Macを使用して、コンピューターを起動すると自動起動するdocker-composeプロジェクトがあります。

通常、プロジェクトはdocker-compose up -dで開始しますが、シャットダウンする前にdocker-compose stopを実行しても、ブート時に自動開始されます。

これを具体的に有効にすることを知りません。どうすれば無効にできますか?

20
Harald Nordgren

今日、開発者のラップトップを起動するとすべてのコンテナが起動するという同じ問題がありました。restart: alwaysは.ymlファイルで設定されました。

.ymlファイルに触れたくないので、次の方法でこの設定を変更する方法を見つけました(thx Bobby)。

docker update --restart=no <MY-CONTAINER-ID>
21
davey

docker-compose downの代わりにdocker-compose stopで試してください

ダウン

コンテナを停止し、upによって作成されたコンテナ、ネットワーク、ボリューム、およびイメージを削除します。 外部として定義されているネットワークとボリュームは、決して削除されません

停止

コンテナを削除せずに実行を停止します。 docker-compose startで再び開始できます。

9
vanduc1102

restart: no はデフォルトモードです。 docker-composeファイル内にrestart: noまたはrestart: unless-stoppedの行があります。また、システムをブートすると、dockerデーモンがあればコンテナを(再)起動します。 詳細
restartnoまたはに変更する必要がありますon-failureexample

version: '2.1'
services:
    backend:
        restart: on-failure
        build:
            args:
                USER_ID: ${USER_ID}
            context: codebase/namp-backend
            dockerfile: Dockerfile.dev
        ports:
          - "5001:5001"
          - "5851:5851"
        volumes:
          - ./codebase/namp-backend:/codebase
        environment:

また、ほとんどの場合docker-compose downは同じ結果になります-(docker)システムの起動中にコンテナを起動しないでください。ただし、コンテナはこの後に削除されます、not停止しました。

2
Grigory

設定の横にrestart: unless-stopped、既存のコンテナを削除して再作成します。

docker-compose down
docker-compose up -d

これで、期待どおりに機能します。

docker-compose stop
Sudo service docker restart
docker-compose ps
# should NOT HAVE containers running

docker-compose up -d
Sudo service docker restart
docker-compose ps
# should HAVE containers running
0
bmihelac