docker里面MySQL如何使用数据卷
时间: 2023-06-11 17:09:03 浏览: 116
使用数据卷可以将MySQL的数据持久化到主机上,以便在容器删除或者重启后数据不会丢失。以下是在Docker中使用数据卷的步骤:
1. 创建一个数据卷容器
```
docker create -v /var/lib/mysql --name mysql_data mysql:latest /bin/true
```
这个命令将会创建一个名为 `mysql_data` 的容器,并将 `/var/lib/mysql` 目录作为数据卷。
2. 运行 MySQL 容器,将数据卷挂载到容器中
```
docker run -d --name mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 --volumes-from mysql_data mysql:latest
```
该命令将会运行 MySQL 容器,并将数据卷容器 `mysql_data` 挂载到 MySQL 容器的 `/var/lib/mysql` 目录下。
这样,当 MySQL 容器被删除或重启时,数据都会被保存在数据卷容器中,不会丢失。
除了使用命令行,也可以在 `docker-compose.yml` 文件中定义数据卷。例如:
```
version: '3'
services:
mysql:
image: mysql:latest
restart: always
environment:
MYSQL_ROOT_PASSWORD: 123456
volumes:
- mysql_data:/var/lib/mysql
volumes:
mysql_data:
```
以上为使用 `docker-compose.yml` 定义 MySQL 服务,并将 `/var/lib/mysql` 目录作为数据卷。`mysql_data` 卷会在容器启动时自动创建。
阅读全文