1.docker新建mysql5.7
命令:
docker volume create mysql5.7_conf
docker volume create mysql5.7_logs
docker volume create mysql5.7_data
docker run --privileged=true --restart=always --name mysql5.7 -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 -d -v mysql5.7_data:/var/lib/mysql -v mysql5.7_conf:/etc/mysql -v mysql5.7_logs:/var/log/mysql mysql:5.7
参数解析:
- volume create:新建一个卷
- --privileged=true:给容器赋予可更改宿主机文件权限。(已关闭防火墙,不加这个也行)。
- --restart=always:在容器退出时总是自动启动。
- --name:容器命名。
- -p:指定端口
- -e:制定mysql的root密码。
- -d:后台运行。
- -v:将容器内的文件映射到卷内。
2.使用volumes的优点,与直接挂载到目录对比
目录挂载形式:-v /mysql/data:/var/lib/mysql
优点:
- 使用docker volume 将所有的卷 集中管理(很重要,直接使用目录,一旦文档消失就g)。
- 可进行复用,方便转移
- 支持集群
3.备份
1. docker volume ls 列举所有的卷名称
2. docker volume inspect mysql5.7_data 查看卷的详细信息,其中Mountpoint为 挂载目录。
3. zip -r mysql5.7.zip mysql5.7_* 将mysql5.7相关卷压缩,备份。
4. 迁移:新建卷后,目录进行替换。