1.安装
1.1 拉取镜像
docker pull mysql拉取成功可以验证一下
docker images1.2 创建并启动一个mysql容器
docker run --name ly-mysql -e MYSQL_ROOT_PASSWORD=123456 -p 3306:3306 -d mysql- –name:给新创建的容器命名,此处命名为ly-mysql
 - -e:配置信息,此处配置mysql的root用户的登陆密码
 - -p:端口映射,此处映射主机3306端口到容器pwc-mysql的3306端口
 - -d:成功启动容器后输出容器的完整ID.
 - 最后一个mysql指的是mysql镜像名字
 
到这里我们查看容器运行状态:
$ sudo docker ps
可以看到容器的简写ID,容器的源镜像,创建时间,状态,端口映射信息,容器名字等。
1.3 连接测试
使用navicat远程连接,这里碰到几个问题
1.3.1 mysql连接IP问题
首先这个IP肯定不是localhost,然后以为是mysql容器的IP
1.3.1.1 查看mysql容器的ip
docker inspect --format '{{ .NetworkSettings.IPAddress }}' <container-ID> 结果是:172.17.0.2
但是还是连接不上
1.3.1.2 获取docker主机 IP
docker-machine ip192.168.99.100
这个可以连接
结论:
当使用windows和macOS时,不应该使用localhost而应该使用docker-machine ip
1.3.2 连接mysql 8提示2059 - authentication plugin 'caching_sha2_password...
原因:由于myslq8不支持动态修改密码验证方式
解决方案:
- 进入mysql容器
 
docker exec -it ly-mysql bash- 连接mysql
 
mysql -uroot -p3.修改配置
use mysql; ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'new password'; FLUSH PRIVILEGES;1.4 其他
1.4.1 记录几个命令
1.4.1.1 退出容器
- 如果要正常退出不关闭容器,请按Ctrl+P+Q进行退出容器
 - 如果使用exit退出,那么在退出之后会关闭容器,可以使用下面的流程进行恢复
 
