环境
确认docker安装无误
使用docker pull mysql 或者docker pull mysql:8.0
完成后,查看镜像是否存在

我这里有三个镜像,第一个就是mysql最新版的镜像。
新建容器
docker run --name mysql -p 3306:3306 -v /etc/timezone:/etc/timezone -v /etc/localtime:/etc/localtime
-e MYSQL_ROOT_PASSWORD='你的密码' -d mysql
注意:如果不加-v /etc/timezone:/etc/timezone -v /etc/localtime:/etc/localtime 会导致docker容器时间跟宿主机时间不一致,因为docker默认使用的时区是0区
如不想通过挂载的方式,也可以加上 -e TZ=Asia/Shanghai达到时区更正的效果
查看容器运行状态
docker ps
此时理论上就可以连接了。如果有连接不上可以执行以下步骤
进入容器
docker exec -it mysql /bin/bash
使用mysql命令
mysql -uroot -p你的密码
mysql>use mysql;
//修改数据库
mysql> ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'root';
//修改密码
mysql> alter user 'root'@'%' identified by '123456';
//刷新数据库
mysql>flush privileges;
tips:用docker安装需要用3306端口做映射(外网端口随意,但是容器端口必须是3306)其他的端口会导致连接不上,暂时没找到解决方案,即3307:3306、3308:3306、3309:3306等等~