ボリュームしたい(volume)
// ボリュームの確認
$ docker volume ls
// ボリュームを作成
$ docker volume create ボリューム名
docker volumeコマンドで、コンテナ内のデータを永続化させるためのボリュームを操作できます。
ボリュームに紐づけておかないと、コンテナ内に作成したデータは、コンテナを削除するときに消えてしまいます。
ボリュームにはnamed volumeとbind volumeの2種類があります。
named volumeはDocker内部(=/var/lib/docker/volumes/...)に作成されるボリュームです。
binde volumeは、ホストPCのパスを、コンテナにマウントするボリュームです。
データベースなど、直接アクセスしなくてもよいデータはnamed volume、
設定ファイルやHTML/CSSなどのようにホストPCと同期させたいデータはbind volumeで作成するとよいです。
ボリュームの詳細を知りたい
$ docker volume inspect ボリューム名
named volumeを使ったときに、データが保存されているパスなどの詳細を確認できます。
Composeしたい(volumes)
services:
コンテナ名:
image: イメージ名:タグ
volumes:
# named volume
- db_data:/var/lib/mysql
# bind volume
- ./html:/var/www/html
volumes:
db_data:
compose.yamlのvolumesキーでボリュームを設定できます。
docker compose up -dすると、自動でボリュームを紐づけてくれます。
docker compose downでコンテナを削除しても、ボリュームは残ります。
docker compose down --volumesでボリュームも削除できます。