docker 启动mysql 挂载宿主机目录

2023-04-25,,

在使用docker run 运行镜像获取容器时,有些容器会自动产生一些数据,为了这些数据会因为container (容器)的消失而消失,保证数据的安全,比如mysql 容器在运行中产生的一些表的数据,有一天我如果使用docker rm 将容器删除那么数据就丢失了。为了这个原因就就的将容器中的目录挂载到宿主机,以保证数据的安全

首先在docker hub中pull mysql 镜像

其次创建mysql持久化文件目录:通常只需要data 和conf

启动容器

docker run -itd --name mysql5.7 -p 3306:3306 --mount type=bind,src=/usr/local/src/data,dst=/var/lib/mysql --mount type=bind,src=/usr/local/src/conf,dst=/etc/mysql/conf.d --mount type=bind,src=/usr/local/src/logs,dst=/var/log --privileged=true -e MYSQL_ROOT_PASSWORD=admin123 mysql:5.7 --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode-ci

--name :设置启动容器的名字

--mount 绑定数据目录和服务器配置文件

-p 端口映射 格式为: 宿主机端口:容器端口

-e MYSQL_ROOT_PASSWORD 设置数据库密码

--chaeacter-set-server 设置编码

--collation-server 设置编码

--privileged=true:容器内的root拥有真正root权限,否则容器内root只是外部普通用户权限

检查配置信息docker inspect xxx

在输出的json格式中找到

mounts 简直查看source 和 target 的值是否为mount 绑定的目录

启动8.0 目录挂载

docker run -p 3307:3306 -v /opt/mysql8/conf:/etc/mysql/conf.d -v /opt/mysql8/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=admin123 --name mysql8 -d mysql:8.0

参考链接:https://www.lmaye.com/2019/05/22/20190522162930/

docker 启动mysql 挂载宿主机目录的相关教程结束。

《docker 启动mysql 挂载宿主机目录.doc》

下载本文的Word格式文档,以方便收藏与打印。