1、docker仓库搜索mysql
1 | docker search mysql |
2、docker仓库拉取mysql8.0
1 2 3 | docker pull mysql:8.0 备注: docker pull mysql // 默认拉取最新版本 |
3、查看本地仓库镜像是否下载成功
1 | docker images mysql:8.0 |
4、安装运行mysql8.0容器
1 2 3 4 5 6 | docker run -p 3307:3306 --name mysql8.0 -e MYSQL_ROOT_PASSWORD=root -d mysql:8.0 备注: -p 将本地主机的端口映射到docker容器端口(因为本机的3306端口已被其它版本占用,所以使用3307) --name 容器名称命名 -e 配置信息,配置root密码 -d 镜像名称 |
5、查看mysql8.0容器运行情况
1 | docker ps |
6、docker登录mysql
1 2 | docker exec -it mysql8.0 bash mysql -uroot -p |
7、使用客户端连接工具(navicat)远程登录mysql
发现登录不了,报错:navicat不支持caching_sha_password加密方式
原因:mysql8.0使用新的密码加密方式:caching_sha_password
解决方式:修改成旧的加密方式(mysql_native_password),并重置密码
* select host,user,plugin from user;
* alter user ‘root’@’%’ identified with mysql_native_password by ‘root’;
8、使用客户端连接工具(navicat)重新远程登录mysql
9、后记(常用的docker命令)
1 2 3 4 5 6 7 8 9 10 11 12 13 | docker search 镜像名称 // 搜索镜像 docker pull 镜像名称:版本号 // 拉取对应版本的镜像 docker pull 镜像名称 // 默认拉取最新的镜像 docker images // 查看本地已下载的镜像 docker ps // 查看正在运行的容器 docker ps -a // 查看所有的容器(包括run、stop、exited状态的) docker container ls // 查看正在运行的容器 docker rm 容器ID // 只能删除没有在运行的容器 docker rm -f 容器ID // 可以删除正在运行的容器 docker run -p 本地主机端口号:容器服务端口号 --name 容器名字 [-e 配置信息修改] -d 镜像名字 docker start 容器ID // 启动容器 docker stop 容器ID // 终止容器 docker rmi 镜像名称orID // 删除镜像 |
【转自】https://www.jb51.net/article/178086.htm