rokkonet

PC・Androidソフトウェア・アプリの開発・使い方に関するメモ

Docker "名前付きボリューム"でコンテナのデータをホストと共有する

2023 Dec. 31.

出典 Docker上のMySQLのデータをVolumeでホストのディレクトリにマウントすると権限周りで面倒なことになる #Docker - Qiita
docker-compose.ymlで名前付きvolumeを使う方法 #Docker - Qiita

docker-compose.ymlでの書式

volumes
    "名前付きボリューム": コンテナ内のパス

mysqlのdocker-compose.ymlの例

mysql:
    volumes:
        - mysql-db:/var/lib/mysql
volumes:
    mysql-db:

"名前付きボリューム"のホスト上の場所の確認

  1. "docker volume ls"コマンドでボリュームの名前を調べる
  2. "docker volume inspect"コマンドの出力のMountpointに記載されているpathで名前付きボリュームの保存先を得る
$ docker volume ls
DRIVER    VOLUME NAME
local     docker-mirakurun-epgstation_mysql-db

$ docker volume inspect docker-mirakurun-epgstation_mysql-db
"Mountpoint": "/var/lib/docker/volumes/docker-mirakurun-epgstation_mysql-db/_data",

$ sudo ls -l /var/lib/docker/volumes/docker-mirakurun-epgstation_mysql-db/_data
合計 205756
-rw-rw---- 1 999 999  17727488 12月  3 14:45 aria_log.00000001
-rw-rw---- 1 999 999        52 12月  3 14:45 aria_log_control
drwx------ 2 999 999      4096 11月  4 19:45 epgstation
-rw-rw---- 1 999 999      1811 12月  3 14:45 ib_buffer_pool
-rw-rw---- 1 999 999 100663296 12月  3 14:52 ib_logfile0
-rw-rw---- 1 999 999  79691776 12月  3 14:45 ibdata1
-rw-rw---- 1 999 999  12582912 12月  3 14:52 ibtmp1
-rw-rw---- 1 999 999         0 11月  4 19:44 multi-master.info
drwx------ 2 999 999      4096 11月  4 19:45 mysql
-rw-r--r-- 1 999 999        15 11月  4 19:44 mysql_upgrade_info
drwx------ 2 999 999      4096 11月  4 19:44 performance_schema