Docker中部署前后端分离项目(vue+springboot)(三)

前后端都部署完成之后,就到了mysql和redis这些东西了。
首先是mysql,直接从docker上拉取
docker pull mysql:5.7.27
在下载完成之后,创建实例容器。
docker run -d --name mymysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=root mysql:5.7.27

-d 后台运行,–name 设置名称 selfdefinename 是用户自定义的容器名称,-p 设置端口映射,第一个3306是当前主机的端口,第二个3306指容器中的端口;-e 设置root用户密码为root;最后的mysql:5.7.27 可以用imageID代替,代表用于创建容器的镜像。
值得注意的是,如果虚拟机已经安装了mysql,那么它会占用3306端口,docker中的mysql将无法正常启动。

docker exec -it mymysql 然后进入容器
mysql -uroot -p 进入mysql
show databases 查看数据库
create database yourdatabase 新建数据库
use yourdatabase 进入数据库
source /userrole.sql 执行原数据库的sql文件
这里说一下,docker cp 要拷贝的文件路径 容器名:要拷贝到容器里面对应的路径,将sql文件拷进来。
以及,授权
GRANT ALL PRIVILEGES ON . TO [email protected]"%" IDENTIFIED BY “root”;
flush privileges;

mysql默认只接受127.0.0.1也就是localhost的访问,授权可以让mysql接受其他ip的访问。
exit 退出
在完成这些步骤之后,可以用navicat测试一下能不能连接到这个数据库,可以直接用宿主机的navicat来试试
在这里插入图片描述
这样子就算大功告成了,然后去康康项目
在这里插入图片描述
可以登进去了!

顺便稍微记录一下常用的docker命令
新建容器
docker run -d --name //自定义容器名 镜像ID或镜像名 d后台运行
docker ps // 查看所有正在运行容器
docker stop containerId // containerId 是容器的ID
docker ps -a // 查看所有容器
docker ps -a -q // 查看所有容器ID
docker stop $(docker ps -a -q) // stop停止所有容器
docker rm $(docker ps -a -q) // remove删除所有容器
docker images //展示所有本地镜像
docker start 容器名或容器ID //运行容器
docker stop 容器名或容器ID //停止运行容器
docker rm -f 容器名或容器ID //删除容器
docker exec -it 容器名或容器ID bash //进入容器内容bash
exit //退出容器命令:
service stop docker //关闭docker服务