一 拉取镜像
docker pull mysql:8.0.20
二 查看镜像启动镜像
docker images
docker run -p 3306:3306 --name mysql -e MYSQL_ROOT_PASSWORD=123456 -d mysql:8.0.20
三 查看是否启动成功
docker ps -a
四 启动成功后,进入容器内部拷贝配置文件,到宿主主机
docker cp mysql:/etc/mysql /opt/mysql8
拷贝容器的/etc/mysql目录到宿主机的/opt/mysql8目录
五 删除mysql容器,重新创建容器
停止容器
docker stop mysql
删除容器
docker rm mysql
六 启动mysql ,挂载配置文件,数据持久化到宿主主机
将命令写入到启动脚本,内容如下:
#!/bin/sh
docker run \
-p 3306:3306 \
--name mysql \
--privileged=true \
--restart unless-stopped \
-v /opt/mysql8/mysql:/etc/mysql \
-v /opt/mysql8/logs:/logs \
-v /opt/mysql8/data:/var/lib/mysql \
-v /etc/localtime:/etc/localtime \
-e MYSQL_ROOT_PASSWORD=123456 \
-d mysql:8.0.20
内容说明:
-p 端口映射
–privileged=true 挂载文件权限设置
–restart unless-stopped 设置 开机后自动重启容器
-v /mnt/sda1/mysql8.0.20/mysql:/etc/mysql 挂载配置文件
-v /mnt/sda1/mysql8.0.20/logs:/logs \ 挂载日志
-v /mnt/sda1/mysql8.0.20/data:/var/lib/mysql \ 挂载数据文件 持久化到主机,
-v /etc/localtime:/etc/localtime 容器时间与宿主机同步
-e MYSQL_ROOT_PASSWORD=123456 设置密码
-d mysql:8.0.20 后台启动,mysql
七 执行脚本,启动Mysql
sh mysql.sh
查看是否启动成功
docker ps -a