1.下载
默认下载MySQL5.7最新版本(其他版本可以指定比如 docker pull mysql:5.7.34)
docker pull mysql:5.7
查看已下载的镜像
docker images
新建mysql相关目录
创建本地数据库目录、配置文件以及日志目录(方便进行容器数据卷挂载)
注:因为mysql容器一旦销毁,数据库也就随之销毁,为了解决这个问题,docker官方提出了容器数据卷技术,就是在宿主机上新建一些目录与容器内的目录映射,当容器销毁时,宿主机上的目录文件不会消失,依然存在.
# 建立宿主机数据库目录
mkdir /root/mysql/datadir
# 建立宿主机数据库配置文件
mkdir /root/mysql/conf
# 建立宿主机数据库日志目录
mkdir /root/mysql/log
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
参数解释
-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 :镜像id,容器第一次启动要根据镜像来启动,所以镜像id必不可少。可以通过明林docker iamges查看镜像id