1、选择要下载的mysql版本
打开dockerhub官网 Docker,选择对应的版本命令。我这选取的mysql:5.7
2、拉取镜像
docker pull mysql:5.7
3、查看拉取的镜像
docker images
4、安装MySQL命令
docker run --name mysql -d -p 3306:3306 --name mysql -v /mydata/mysql/log:/var/log/mysql -v /mydata/mysql/data:/var/lib/mysql -v /mydata/mysql/conf:/etc/mysql -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.7
docker run:创建并启动一个容器
--name mysql:将容器取名为mysql
-d 设置后台运行
-p 3306:3306 映射端口(宿主机端口:容器端口)
-v /mydata/mysql/log:/var/log/mysql 将日志文件夹挂载到宿主机(宿主机路径:容器路径)
-v /mydata/mysql/data:/var/lib/mysql 将mysql储存文件夹挂载到主机(宿主机路径:容器路径)
-v /mydata/mysql/conf:/etc/mysql 将配置文件夹挂载到主机(宿主机路径:容器路径)
-e MYSQL_ROOT_PASSWORD=123456 设置mysql密码
mysql:5.7.38 指定以哪个镜像创建容器(镜像名或镜像ID)
5、启动失败查找原因,所以可以查看docker日志信息
5.1 查看日志命令 docker logs --tail=100 e56d2a1e4ef9(容器ID)
5.2 解决方案
建立目录:sudo mkdir -p /etc/mysql/conf.d
运行mysql指定-v 挂载到这个目录下:将配置文件挂载目录发生变化
docker run --name mysql -d -p 3306:3306 --name mysql -v /mydata/mysql/log:/var/log/mysql -v /mydata/mysql/data:/var/lib/mysql -v /mydata/mysql/conf:/etc/mysql/conf.d -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.7
6、本地连接阿里云服务器报错 10060错误
6.1 给mysql添加远程连接权限。
docker exec -it mysql /bin/bash 进入容器内部
mysql -u root -p 连接数据库
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123456'; 增加远程连接权限。
FLUSH PRIVILEGES;
6.2 关闭阿里云防火墙端口
此时 就可以本地进行连接了。