dockerでコンテナの停止から、だいたい全部消し去るまで
はじめに
dockerをコピペ以外で初めて使って、停止・削除系のコマンドの習得に結構苦戦したので、忘れないように一連の流れのメモ。
dockerのバージョン
Docker Community Edition Version 17.12.0-ce-mac55 (23011) Channel: stable
コンテナの起動
$ docker run -it -d
とか
$ docker-compose up -d
などでやると思います
コンテナの停止
docker-composeを使った人は、
$ docker-compose stop # コンテナの停止
もしくは
$ docker-compose down # コンテナの停止と削除
docker run を使った人は
$ docker ps --no-trunc #CONTAINER_IDを表示
$ docker stop CONTAINER_ID
以下、docker-composeを使った時とdocker runを使った時の順で書いていきます
コンテナの削除
$ docker-compose rm
もしくは
$ docker rm CONTAINER_ID
イメージの削除
コンテナだけでなく、必要であればイメージも削除する必要があります (ただし、以下の操作はイメージを使用しているコンテナが停止していることが前提です)
一個ずつ消す場合
$ docker images -a
$ docker rmi IMAGE_NAME
使われていないイメージを全て消す場合
$ docker images -aq | xargs docker rmi
ボリュームの削除
ボリュームを使った人は、コンテナを消してもボリュームが残っています。 必要でなければ、毎回消しましょう
一個ずつ消す場合
$ docker volume ls -f dangling=true
$ docker volume rm VOLUME_NAME
使われていないボリュームを全て消す場合
$ docker volume ls -qf dangling=true | xargs docker volume rm
ストレージの確認
$ df -h # 削除後すぐには反映されない可能性があります
終わりに
$ docker system prune
は、結構万能に見えて消しきれていない場合もあります。
特にイメージやボリュームは消えてない時があるような気がします。確認してませんが。w
なんかdockerは色々とつまることも多く、バージョンアップによりコマンドや書き方が変わるので大変ですね。バージョンはできるだけ最新のものを使うように順次更新するようにしていくのが良いですね。