docker是什么?
开源的应用容器引擎;docker支持将软件编译成一个镜像;然后在镜像中各种软件做好配置,将镜像发布出去,其他使用者可以直接使用这个镜像,docker仓库就是用来保存各种打包好的软件镜像
1.下载docker命令:yum install docker
启动docker:systemctl start docker
2.安装mysql
- docker search mysql 命令:寻找docker仓库里面的各种版本的mysql镜像
在dockerHub网站上也可以搜索到上面各种版本的镜像,贴个图
你还可以看到各种版本的mysql:
- docker pull mysql:[tag] 命令:下载mysql,tag:版本号,如果你想下载最新的mysql,就可以直接写 docker pull mysql
- docker images 命令:查看安装的镜像
- 删除指定的镜像:docker rmi [镜像id]
3.下载完成就可以使用这个镜像了,可以为这个镜像创建一个容器,从而就使用这个镜像,以mysql为例,我们还可以在本地远程连接虚拟机上的mysql
- docker run -p 3306:3306 --name [自定义镜像名] -e MYSQL_ROOT_PASSWORD=[自定义密码] -d 【容器名】命令:做了端口映射的mysql容器的启动
-p:端口映射,主机的端口映射到容器内部的端口 3306:3306
例如: docker run -p 3306:3306 --name mysql01 -e MYSQL_ROOT_PASSWORD=123456 -d mysql
使用本地的navicat连接测试虚拟机上的mysql:
如果你报了一个 1251:Client does not support authentication protocol requested by server; consider upgrading MySQL client 的错误,解决方式如下:
- docker exec -it mysql03[容器名] bash :进入mysql容器中
-
mysql -uroot -p:进入mysql数据库;输入密码
-
ALTER USER 'root'@'localhost' IDENTIFIED BY 'password' PASSWORD EXPIRE NEVER; 更改加密规则
-
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '新密码'; 更新你的密码
-
FLUSH PRIVILEGES; 刷新权限
- docker ps 命令:查看运行中的容器
- docker rm [容器id]:删除容器