Dockerのメンテナンス

2020.10.8 (木)

しかしプロジェクトが多すぎてDockerが多すぎなのか何なのかわからんですが、不具合がいっぱい出てくるので、いろいろメンテした方がよいかもです。

  • 勝手にコンテナが落ちる。(ただしもう一回起動したら治る)
  • Dockerがやたらと遅い。動くは動くけどほとんど開発にならんぐらい遅い。
  • 立ち上がるのに時間がかかる。(場合によってはタイムアウトする)

順当な方法

コンテナ一覧

$ docker ps -a -q

ここで出てくるコンテナは必要な分だけまた立ち上げればよいので、削除しちゃってOKだと思う。

$ docker rm $(docker ps -a -q)

停止中のコンテナ削除は、

$ docker rm $(docker ps -f status=exited -f status=created -f status=dead -f status=paused -q)

pruneという非常に便利なコマンドがある。

# 停止中のコンテナや未使用ボリュームやイメージやネットワークを全部削除する
$ docker system prune -f

# 個別に削除したい場合は以下のようにすればOK
$ docker container prune -f
$ docker volume prune -f
$ docker network prune -f
$ docker image prune -f

それから必要な分だけ、また立ち上げる。

強制的にやる

コンテナなどの削除ができないことがあるので、そういう場合は強制的にやってしまってもいい。

$ docker stop $(docker ps -a -q) 
$ docker rm $(docker ps -a -q)

削除ができなかったら、

docker rm --force $(docker ps -a -q)

確認

$ docker ps -a

何も出てこなかったら、あるいは、必要なものだけ立ち上がっていたら、きれいになってる。
ついでにPCの再起動も一緒にやっておくと問題の切り分けがしやすいかもです。
これでクソ速く動くようになります。


Dockerで不要なコンテナとイメージを削除する