環境:MacOS_Cetalina_10.15.1、Mysql8.0.18、Docker_2.0.0.3
1、docker倉庫搜尋mysql
docker search mysql
2、docker倉庫拉取mysql8.0
docker pull mysql:8.0
備註:
docker pull mysql //預設拉取最新版本
3、檢視本地倉庫映象是否下載成功
docker images mysql:8.0
4、安裝執行mysql8.0容器
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容器執行情況
docker ps
6、docker登入mysql
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命令)
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 //刪除映象