Data Volume
2024年07月01日
一、认识
Data Volume
: 由 Docker
管理, 位置为 /var/lib/docker/volumes
, 持久化数据最好的方式。Data Volume
通过 -v
来生成我们指定的 VOLUME
名称,而不是随机生成的 Hash
。
二、操作
2.1 定义 Volume
在 Dockerfile
中指定 Volume
容器创建挂载点或声明卷
VOLUME ['/app']
2.2 指定 Volume
运行容器时, 需要通过 -v
来生成指定的 VOLUME
名称
docker run -t --name xx -v app:/app [镜像ID:Tag]
注意: -v [VOLUME Name]:xxx
是 Data Volume
方式持久化, -v 本地路径:xxx
是 Data Mount
方式持久化。只有 Data Volume
的方式才可以通过 docker volume ls
的方式查看。
2.3 查看 Volume
docker volume ls
三、最佳实践
3.1 MySQL 持久化存储
一、MySQL
镜像: 通过 -v
来生成指定的 VOLUME
名称。
docker run -d --name mysql -p 3306:3306 -v ~/docker/mysql/log:/var/log/mysql -v mysqlData:/var/lib/mysql -v mysqlConf:/etc/mysql -v mysqlConfD:/etc/mysql/conf.d -e MYSQL_ROOT_PASSWORD=123456 mysql/mysql-server
e63419ee241c45dcd5061eae05e301eaa1b64c99d930bc6a0bdc0b5c43cae52a
-
-v mysqlLog:/var/log/mysql
-
-v mysqlData:/var/lib/mysql
-
-v mysqlConf:/etc/mysql
-
-v mysqlConfD:/etc/mysql/conf.d
二、Linux
镜像安装 MySQL
三、Centos
镜像安装 mysql