Springboot+mysql+docker部署项目-docker部署

204 阅读2分钟

此为docker部署项目过程

1、docker安装mysql

1.1 下载mysql5.7版本镜像

#dokcer pull 镜像名:版本号

docker pull mysql:5.7

image.png

1.2 查看mysql5.7镜像是否安装成功

docker images

image.png

1.3 运行容器

-p 3306:3306 :映射容器服务的 3306 端口到宿主机的 3306 端口,外部主机可以直接通过 宿主机ip:3306 访问到 MySQL 的服务。              

--name 容器名称         //镜像首次启动时会自动创建容器,需要给容器命名

-e MYSQL_ROOT_PASSWORD=root      设置MySQL服务root用户的密码,密码设置完需要记住,连接需要次密码

-d 后台运行  最后面的mysql:5.7是镜像名称

docker run -p 3306:3306 --name mysql5.7 -e MYSQL_ROOT_PASSWORD=root -d mysql:5.7

image.png

1.4 查看mysql是否安装成功

docker ps

image.png

1.5 进入容器访问下mysql数据库

86456e5b735b为容器id 即第四步图中的红框中的值

docker exec -it 86456e5b735b /bin/bash

image.png

 

输入下面的命令敲回车,输入密码,密码是不显示的,输入完密码敲回车(密码是第三步设置的)

mysql -u root -p

image.png 出现上面内容说明mysql数据库安装完成

exit

exit

 

2、docker安装tomcat

2.1拉取Tomcat镜像

docker pull tomcat:8-jdk8

2.2 启动tomcat

docker run -d --name tomcat -p 8080:8080 tomcat:8-jdk8

2.3 查看日志 tomcat是容器的名字

docker logs -f tomcat

image.png

出现上面的startup in xxx ms 说明启动完成

2.4 在浏览器中输入http://192.168.3.200:8080/  ip为你自己服务器的ip

image.png

出现上图则tomcat成功

如果访问出现404情况,进入tomcat目录,删掉webapps,把webapps.dist改名为webapps

操作如下

[root@localhost web]#  docker exec -it tomcat /bin/bash  # 进入容器
root@14c3c5f30b6a:/usr/local/tomcat# rm -rf webapps # 删除webapps
root@14c3c5f30b6a:/usr/local/tomcat# mv webapps.dist webapps #把webapps.dist改名为webapps
root@14c3c5f30b6a:/usr/local/tomcat# exit #退出容器

 

然后从新访问上面的http://192.168.3.200:8080/

3、部署项目

3.1 创建数据库

使用Navicat连接数据库

image.png

创建数据库

image.png

创建表

image.png

打开项目找到bookshop.sql文件 复制里面的内容

image.png

回到Navicat 执行sql语句

image.png

3.2 打包项目

修改配置文件数据库连接

image.png

 

打包项目 先执行clean 然后执行install ,然后左侧项目目录会出现如下图左侧的war包

image.png

3.3  war包放到服务器上

创建个目录  mkdir web  

进入web目录  cd web/

image.png

上传war包 使用rz 找到自己的war所在位置

image.png

修改war的名称为book.war

mv springboot-mybaits.war book.war

image.png

 

把book.war包放到tomcat容器的tomcat的webapps目录下

docker cp book.war tomcat:/usr/local/tomcat/webapps

然后重启tomcat容器

docker restart tomcat

image.png

出现上面的内容即启动完成

然后浏览器输入http://192.168.3.200:8080/book/login 既可以正常访问了