跳到主要内容

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]:xxxData Volume 方式持久化, -v 本地路径:xxxData 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