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测试,测试成功!

在这里插入图片描述

你可能感兴趣的:(docker,docker,mysql)