Docker安装mysql及挂载数据卷
假设此时你已经是一个资深docker玩家
现在市面上大多数使用的mysql版本都是5.7+和8.0+,因此我这里使用docker安装5.7.32版本,其他版本可以对照着改镜像
1.拉去镜像
docker pull mysql:5.7.32
2.在宿主机上面简历挂在的数据卷,防止数据丢失
1.1创建本地数据库目录、配置文件以及日志目录(方便进行容器数据卷挂载) 注:因为mysql容器一旦销毁,数据库也就随之销毁,为了解决这个问题,docker官方提出了容器数据卷技术,就是在宿主机上新建一些目录与容器内的目录映射,当容器销毁时,宿主机上的目录文件不会消失,依然存在. 新建目录命令:
# 建立宿主机数据库目录 mkdir /root/mysql/datadir # 建立宿主机数据库配置文件 mkdir /root/mysql/conf # 建立宿主机数据库日志目录 mkdir /root/mysql/log
1.2启动容器并挂载数据卷
docker run --name mysql -p 3306:3306 -v /root/mysql/datadir:/var/lib/mysql -v /root/mysql/conf:/etc/mysql/conf.d -v /root/mysql/logs:/var/log/mysql -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.7.32
对应的参数解释如下:
-p 3306:3306 端口映射,将宿主机3306端口与容器3306端口做映射,这样就可以通过宿主机IP+端口访问容器的3306端口了 格式:-p 宿主机端口:容器端口 –name mysql: 指定容器名字为mysql,也可以不指定,不指定会给容器默认制定一个名字
-v /root/mysql/datadir:/var/lib/mysql -v /root/mysql/conf:/etc/mysql/conf.d -v /root/mysql/logs:/var/log/mysql 数据容器卷挂载: -v /root/mysql/datadir:/var/lib/mysql:对宿主机数据库目录与容器数据库目录进行映射挂载 -v /root/mysql/conf:/etc/mysql/conf.d:对宿主机数据库配置文件与容器数据库配置文件进行映射挂载 -v /root/mysql/logs:/var/log/mysql:对宿主机数据库日志与容器数据库日志进行映射挂载 -e MYSQL_ROOT_PASSWORD=123456 配置mysql的root账号的密码为123456(可以根据需要自行修改密码) -d:后台执行 mysql:5.7.32 :镜像id,容器第一次启动要根据镜像来启动,所以镜像id必不可少。可以通过明林docker iamges查看镜像id
最后,使用Navicat连接mysql测试,测试成功!
