ボリュームとは

Dockerコンテナのデータをホストマシンに保存する仕組み。コンテナを削除してもデータが残る。

名前付きボリューム(推奨)

docker run -d -v mydata:/var/lib/mysql mysql:8

docker-composeでの設定

services:
  db:
    image: mysql:8
    volumes:
      - db_data:/var/lib/mysql

volumes:
  db_data:

ボリュームの操作

docker volume ls
docker volume create mydata
docker volume rm mydata
docker volume prune

ハマったポイント

  • docker compose down -v はボリュームも削除する(注意)
  • ボリュームなしでコンテナを削除するとデータが全部消える

関連記事