Docker for Macを使用して、コンピューターを起動すると自動起動するdocker-composeプロジェクトがあります。
通常、プロジェクトはdocker-compose up -d
で開始しますが、シャットダウンする前にdocker-compose stop
を実行しても、ブート時に自動開始されます。
これを具体的に有効にすることを知りません。どうすれば無効にできますか?
今日、開発者のラップトップを起動するとすべてのコンテナが起動するという同じ問題がありました。restart: always
は.ymlファイルで設定されました。
.ymlファイルに触れたくないので、次の方法でこの設定を変更する方法を見つけました(thx Bobby)。
docker update --restart=no <MY-CONTAINER-ID>
restart: no
はデフォルトモードです。 docker-composeファイル内にrestart: no
またはrestart: unless-stopped
の行があります。また、システムをブートすると、dockerデーモンがあればコンテナを(再)起動します。 詳細restart
をno
またはに変更する必要がありますon-failure
、example:
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停止しました。
設定の横に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