docker

关注公众号 jb51net

关闭
首页 > 网站技巧 > 服务器 > 云和虚拟化 > docker > docker启动mysql5.7服务

docker启动mysql5.7服务详细说明

作者:程序猿想成程序狮

这篇文章主要给大家介绍了关于docker启动mysql5.7服务的相关资料,文中通过代码示例介绍的非常详细,对大家的学习或者工作具有一定的参考价值,需要的朋友可以参考下

前提条件:docker已安装

启动mysql5.7服务命令

docker run  -d --name mysql5.7 -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 mysql:5.7

以上命令运行完毕,一个mysql服务器就启动好了,可以访问对应ip+端口连接到数据库(记得云服务器要先开放端口号)

但是

以上命令还存在一些问题,就是没有挂载卷,当该容器销毁时,里面的数据也没了

为了避免以上情况,保证容器销毁时,数据还在,做法如下

首先需要从容器中拿到mysql的一些重要文件

mysql的配置文件在/etc/mysql

mysql的日志文件在/var/log/mysqld.log

mysql的数据文件在/var/lib/mysql

宿主机中先建立一些文件夹来存放这些文件

cd ~
mkdir volumes
cd volumes
mkdir mysql5.7
cd mysql5.7
mkdir conf log data

然后使用docker cp命令将容器中的文件复制到宿主机中

docker cp mysql5.7:/etc/mysql/. ~/volumes/mysql5.7/conf
docker cp mysql5.7:/var/log/. ~/volumes/mysql5.7/log
docker cp mysql5.7:/var/lib/mysql/. ~/volumes/mysql5.7/data

删除原来的容器

docker rm -f mysql5.7

使用卷挂载的方式启动容器

docker run \
--name mysql5.7 \
-p 3306:3306 \
-e MYSQL_ROOT_PASSWORD=123456 \
-d \
-v ~/volumes/mysql5.7/data:/var/lib/mysql \
-v ~/volumes/mysql5.7/conf:/etc/mysql \
-v ~/volumes/mysql5.7/log:/var/log \
--restart=always mysql:5.7

由于上述命令使用了卷映射,文件存放在宿主机,不会随着容器的销毁而销毁

至此,基于docker的mysql服务就启动好了

总结

到此这篇关于docker启动mysql5.7服务的文章就介绍到这了,更多相关docker启动mysql5.7服务内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

您可能感兴趣的文章:
阅读全文