使用Docker部署Springboot+Vue前后端分离项目

文章目录

    • 一、部署MySQL
    • 二、部署前端项目
    • 三、部署后端项目

前言:
系统版本centos 7.9
Docker版本:18.09.4
Nginx版本:部署时能获取的最新版本
JDK版本:1.8
Docker Desktop版本:4.12.0
MySQL版本:5.7
项目地址:https://github.com/YXJ2018/SpringBoot-Vue-OnlineExam

一、部署MySQL

使用Docker部署,做好数据卷挂载:

docker run --name mysql --privileged  \
--restart=always -p 3306:3306 \
 -e MYSQL_ROOT_PASSWORD=123456    \
 -v /home/mysql-docker/mysql:/var/lib/mysql  \
 -d mysql:5.7

使用连接工具验证,并建库导入项目中的sql脚本

二、部署前端项目

首先要将项目在本地跑起来,后面会用到打包后的文件

新建exam-web目录,存放我们用于构建前端镜像的文件
修改config目录下的index.js,使用服务器IP地址
使用Docker部署Springboot+Vue前后端分离项目_第1张图片
运行npn run build,会打包后会产生 dist目录,将dist目录复制到exam-web目录下

在exam-web目录下新建nginx.conf文件,内容如下:

worker_processes  1;

events {
    worker_connections  1024;
}
http {
    include       mime.types;
    default_type  application/octet-stream;

    sendfile        on;

    #keepalive_timeout  0;
    keepalive_timeout  65;
    server {
        listen       80;
        server_name  localhost;

        #charset koi8-r;

        #access_log  logs/host.access.log  main;

        location / {
            root  /usr/share/nginx/html;
            index  index.html index.htm;
        }
        location /api/ {
              proxy_pass http://10.10.10.55:8080/;
            }
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
    }

在exam-web目录下新建Dockerfile文件,内容如下:

FROM nginx

WORKDIR /usr/src/app/
COPY nginx.conf /etc/nginx/
COPY ./dist  /usr/share/nginx/html/
EXPOSE 80

CMD ["nginx", "-g", "daemon off;"]

在exam-web目录打开cmd命令行工具,构建镜像

docker build -t exam-web:v1.0 .

启动服务

docker run -d --name exam-web -d -p 80:80  -v /home/nginx/nginx.conf:/etc/nginx/nginx.conf exam-web:v1.0

三、部署后端项目

修改resources目录下的application.properties中的数据库连接信息
新建exam-server目录
将项目打jar包,复制到exam-server目录下并重命名为app.jar
编写Dockerfile文件,内容如下:

FROM java:8

EXPOSE 8080

ADD app.jar /app.jar

ENTRYPOINT ["java", "-jar","app.jar"]

构建镜像

docker build -t exam-server:v1.0 .

启动服务

docker run -d -p 8080:8080 --name exam-server exam-server:v1.0

你可能感兴趣的:(docker,spring,boot,vue.js,java)