はじめに
Dockerについての学習を進める中、docker volume ls
を実行したら記憶にない文字列のボリュームが沢山😥
「Dockerが自動で作成したボリュームの可能性が高い。」ようですが、少し調べてみたいと思います
どんな状態だったのか
$ docker volume ls
DRIVER VOLUME NAME
local 0f5d78c238ac9e2fd278fb94b33dd75082eaa3b8e92b0f89f1fc1db26b8a6464
local 4b23c4c0f5458dcd2621ea97a2377a62f4bb3900059bdc8ffe3b179416c7a420
local 4cce5fdec7dad7d5072d6fd15bb7af9695f45fa71ccea9b1e54c21fefe4e7795
local 42a6f3755ea6820718164ba74c4df0f0dc939aeb0173646c38d7edbd40507aed
local 57580840aeedb0351ee632b42832c716be769a9c4ad224771fb8946e48832d39
local ad08bc570274f0322e963d3e2ecfa9a8b5a44bd69a872bbb9c7a3a504223eb3d
local afb7d662b2b0d4afd69c30d69f2c5822a428d9a09c80def38221ed70747837cb
local b2ac2bfeeacaa4e8af42ea56c125ab866641728773d1bf8c7fadd7af28da9085
-
名前がついているもの
→ アプリのデータが残っている可能性が高いので、慎重に扱う! -
意味不明な長い名前のボリューム
→ 何のデータかわからないなら、まず中身を確認docker volume inspect 0f5d78c238ac9e2fd278fb94b33dd75082eaa3b8e92b0f89f1fc1db26b8a6464
→ もし不要なら削除できる
docker volume rm 0f5d78c238ac9e2fd278fb94b33dd75082eaa3b8e92b0f89f1fc1db26b8a6464
結論
1️⃣ ボリュームにデータがあるかを確認する
docker volume inspect <ボリューム名>
ls /var/lib/docker/volumes/<ボリューム名>/_data
2️⃣ データベースに接続できるか試す
- PostgreSQL:
docker run --rm -it -v <ボリューム名>:/var/lib/postgresql/data postgres:latest psql -U postgres
3️⃣ 不要なボリュームかどうか判断
- 長いIDのボリュームは、必要なデータがないなら削除してもOK。
⚠️ 注意!間違って消すと復元できないので、必ずデータの確認をしてから削除すること!
まだDockerについては理解不十分があるので書籍含め、しっかり構造・概要を把握してから削除するかどうか検討したいと思います💦😥
今回は削除のコマンドを知れただけで、まずはよかった。