docker 启动mysql 挂载宿主机目录

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

首先在docker hub中pull mysql 镜像

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

启动容器

docker run --name xxx -p 3306:3306 --mount tyoe=bind,src=/usr/local/src/data,dst=/var/lib/mysql --mount type=bind,src=/usr/local/src/conf/my.cnf,dst=/etc/my.cnf -e MYSQL_ROOT_PASSWORD="*******" -d mysql  --character-ser-server=utf8mb4 --collation-server=utf8mb4_unicode_ci 

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

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

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

-e MYSQL_ROOT_PASSWORD 设置数据库密码

--chaeacter-set-server 设置编码

--collation-server 设置编码

检查配置信息docker inspect xxx

在输出的json格式中找到

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

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

猜你喜欢

转载自www.cnblogs.com/startscorpio/p/12783790.html