环境配置本地操作系统:Win10 虚拟机的操作系统:CentOS Stream 8 已安装docker,可以参考详细安装教程
安装MySQL如果docker安装成功,我们可以直接使用指令启动一个docker运行MySQL服务,指令如下: docker run -p 3306:3306 --name mysql8.0 -e MYSQL_ROOT_PASSWORD=1234 -d mysql 指令参数说明: - run:启动docker。
- -p 3306:3306:设置操作系统与docker的端口对接,第一个3306是操作系统的端口,用于对完使用;第二个是docker运行MySQL的服务端口3306。
- –name mysql8.0:是启动这个docker的容器名字,可以自行命名。
- -e MYSQL_ROOT_PASSWORD=1234是设置docker的MySQL的root用户密码。
- -d mysql:是镜像名称,如果没有规定MySQL版本,使用mysql默认安装最新版本,如果规定mysql版本,可以加上版本信息,如-d mysql5.7。
如果直接启动docker,而本地还没下载MySQL镜像,docker会默认自动下载MySQL镜像。指令执行完成后,分别输入指令查看当前docker和镜像信息: docker ps -adocker images 
修改MySQL加密方式由于最新版MySQL的加密方式改变了,如果使用Navicat Premium 15等工具连接可能无法连接成功,我们需要对docker里面的MySQL进行修改。 输入docker exec -it mysql8.0 bash 进入当前docker,其中mysql8.0是这个docker的容器名字,如图所示: 
此时,我们已经进入docker内部,然后分别输入MySQL指令修改用户密码的加密方式,指令如下: mysql -uroot -p1234use mysql;alter user 'root'@'%' identified with mysql_native_password by '1234';select host,user,plugin,authentication_string from mysql.user; 指令执行结果如图所示: 
最后分别输入两次exit 退出MySQL和docker。 在Win10的Navicat Premium 15连接虚拟机的CentOS的docker的MySQL,连接端口3306是启动run指令的参数 - -p 3306:3306的第一个端口,如图所示。 
安装第二个MySQL如果要在同一个操作系统运行多个docker的MySQL,只需在run指令设置参数 - -p 的对完端口即可,比如启动第二个MySQL服务,可执行下面指令: docker run -p 3307:3306 --name mysql8.1 -e MYSQL_ROOT_PASSWORD=1234 -d mysql 上述指令参数说明 - -p第一个参数是3307,代表centos8的3307端口,因为3306端口已被第一个docker占用了;第二个参数3306是docker里面MySQL的运行端口,由于每个docker都是独立运行的,因此两个docker都能使用3306。
- 参数–name必须与第一个docker的命名不能相同,否则会有冲突。
启动docker之后,剩下的操作就是修改MySQL的用户密码加密方式,这个操作在上述已有讲述。 下载地址: 使用docker部署java项目运行环境的实现步骤 docker |