栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

docker 部署spring boot + vue-element-template项目

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

docker 部署spring boot + vue-element-template项目

一、 环境

vmware + ubuntu 20.4

二、部署步骤

1. 后端spring boot 部署

   通过docker maven plugin生成镜像,再通过docker-compose up -d 生成container,plugin配置如下:

 
                com.spotify
                docker-maven-plugin
                0.4.11
                
                    http://{服务器ip}:2375
                    farvision/${project.artifactId}
                    true
                    
                        v0.0.1
                    
                    ${project.basedir}/src/main/docker
                    
                        
                            /
                            ${project.build.directory}
                            ${project.build.finalName}.jar
                        
                    
                    true
                
            

docker-compose.yml

version: '3'
services:
  postgresql:
    image: postgres:14.1
    container_name: postgresql
    ports:
      - 5432:5432
    volumes:
      - postgresql-data:/var/lib/postgresql/data:rw
      - ./init_db.sh:/docker-entrypoint-initdb.d/init_db.sh
    environment:
#      POSTGRES_DB: mes
      POSTGRES_PASSWORD: password
      POSTGRES_USER: postgres
    restart: always
  redis:
    image: redis:6.2.1
    container_name: redis
    ports:
      - 6379:6379
    volumes:
      - redis_data:/data
    restart: always
  backend:
    image: farvision/mes-web:latest
    container_name: aps-backend
    ports:
      - 8081:8081
    depends_on:
      - redis
      - postgresql
    restart: always
  frontend:
    image: nginx 
    container_name: aps-frontend
    ports:
      - 80:80
      - 443:443
    volumes:
      - nginx-data:/etc/nginx/:rw
      - ./dist:/usr/share/nginx/html
    privileged: true
    depends_on:
      - backend
    restart: always

volumes:
   postgresql-data:
   redis_data:
   nginx-data:

 通过上传docker-compose.yml 到ubuntu 20.4 /root/aps/目录下,执行

docker-compose up -d

既可以启动aps-backend

2.前端部署(重点)

前端项目是在vue-element-template基础上定制。

代码修改:

.  打开vue-config.js,更改

module.exports = {
  
  publicPath: '/',

module.exports = {
  
  publicPath: './',

. 打开.env.production

修改后端api 地址为自己的api

# base api
VUE_APP_base_API = '/mes'

在终端执行 npm run build:prod进行打包生成 dist目录并通过xftp上传到/root/aps/目录下(和docker-compose.yml)处于同一目录

. 修改nginx的default.conf文件我的在

 /var/lib/docker/volumes/aps_nginx-data/_data/conf.d (通过volumes进行映射得到)

docker restart aps-frontend重启前端容器

三、访问前端并登录系统

 到此结束。在vue-element template,有几个地方很容易混。

1. .env.production  VUE_APP_base_API

2. vue-config.js中的 proxy

    // proxy:

    // {

    //     '/mes':{

    //         target: 'http://ip:8081/',

    //         changeOrigin: true,

    //         pathRewrite:

    //         {

    //             //'^/dev-api':'/'

    //         }

    //     }

    // }

3.nginx的反向代理

4. java的跨域,如果设置了spring boot 的跨域,则nginx的反向代理可以不需要设置。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/704714.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号