auの日記

プログラミング初心者の日記。(auはハンドルネームです)

docker-composeのdownとstopの違い

auです。

docker-composeのコマンドに、donwとstopがあります。なんとなーく同じような意味合いだと思うのですが、明確に違いがあるだろうと思い調べてみました。

起動中のコンテナの確認

$ docker-compose up -d

$ docker-compose ps
     Name                    Command               State           Ports         
---------------------------------------------------------------------------------
app_container1   python test.py https:// ...   Up      0.0.0.0:80->5000/tcp  
redis_container   docker-entrypoint.sh redis ...   Up      0.0.0.0:6379->6379/tcp

down

起動中のコンテナを削除する際に使います。

$ docker-compose down
Removing app_container1 ... done
Removing redis_container ... done
Removing network moisturer_default

$ docker-compose ps
Name   Command   State   Ports
------------------------------

stop

起動中のコンテナを停止します。

$ docker-compose stop
docker-compose stop
Stopping app_container1 ... done
Stopping redis_container ... done

startでもう一度起動できます。

$ docker-compose start
Starting redis ... done
Starting app   ... done

違い

donwはネットワークとコンテナを一括削除するのに対し、stopはただ止めるだけです。クリーンな状況で作業がしたい場合はdownを使う方が好ましいようです。

なお、volumeも削除したい場合は、--volumesを付けなければいけないので注意が必要です。

参考

qiita.com