docker部署项目流程-基于若依系统(vue+springboot)

背景: 工作中使用了若依系统开发了项目,后来需要部署到linux的测试环境中,选择了docker方式部署。针对前台vue后台springboot的docker部署流程,在这里记录一下,有需要的朋友可以参考交流。

一. 部署环境准备
  1. 开发好的若依架构项目:vue+springboot

  2. linux服务器环境:CentOS Linux release 7.8.2003

    ( 查看Linux系统版本的命令:cat /etc/redhat-release,这种方法只适合Redhat系的Linux)

  3. linux中已经安装好docker。

二. 后台部署步骤
打包spingboot后台项目
  1. 打包前修改yml配置文件端口号信息

    设置为服务器对应的后台端口号信息,防止部署后访问不到后台
    在这里插入图片描述

  2. 在idea中进行打包:

  • 打开右侧maven列表,双击clean保证编译不报错
  • 双击package将springboot项目打成对应的 jar包
    在这里插入图片描述
    在这里插入图片描述
部署后台
  1. 将jar包上传到服务器的一个目录中:/home/docker/java/ruiyi01

  2. 在上述文件中编写Dockerfile文件用于创建镜像

    FROM java:8
    EXPOSE 8080
    ADD ruoyi-admin.jar ruoyi-admin.jar
    ENTRYPOINT ["java", "-jar", "/ruoyi-admin.jar"]
    
  3. 使用docker命令创建镜像(注意创建前删除掉旧的重名镜像)

#在/home/docker/java/ruiyi01目录下,运行命令:(注意后面的点不可以省略)

docker build -t ruoyi-demo .   
  1. 基于镜像运行一个后台容器

    docker run -d --name ruoyi-demo-run -p 8083:8083 ruoyi-demo
    
  2. 查看容器是否运行成功

    • 查看容器运行情况 docker ps

    • 通过swagger测试一下后台接口是否可连接

      192xx.xx.xx:8083/swagger-ui.html
      

      [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-eKSSxnj4-1608867005641)(D:\install\YoudaoNote\files\xuxiaoming20106@163.com\a98eeff5da5e4763ba5fd2e09e38bdf4\clipboard.png)]

三. 前台部署步骤
打包vue项目
  1. 打包前在js配置文件中修改后台地址和端口

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-mFMB8hGe-1608867005642)(D:\install\YoudaoNote\files\xuxiaoming20106@163.com\8f9755566ecc44fa8fd68c4ed97f303c\clipboard.png)]

  2. 在idea中打包:

    D:\IdeaProjects\electronic\ruoyi-ui>npm run build:prod 
    

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-YYJ2BpaV-1608867005642)(D:\install\YoudaoNote\files\xuxiaoming20106@163.com\7bd51851f3694697b9cda757d7e1ebde\clipboard.png)]

部署vue
  1. 将dist文件夹上传到服务器的一个目录中:/home/docker/java/vue01

  2. 编写default.conf 文件,并上传到 /home/docker/java/vue01目录中

    server {
            listen       80;
            server_name  192.xx.xx.xx;
    
            #charset koi8-r;
    
            #access_log  logs/host.access.log  main;
    
            location / {
                root   /usr/share/nginx/html;
    			try_files $uri $uri/ /index.html;
                index  index.html index.htm;
            }
    		
    		location /prod-api/{
    			proxy_set_header Host $http_host;
    			proxy_set_header X-Real-IP $remote_addr;
    			proxy_set_header REMOTE-HOST $remote_addr;
    			proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    			proxy_pass http://192xx.xx.xx:8083/;
    		}
    		location /boom {
    			proxy_redirect off;
    			proxy_pass http://192xx.xx.xx:8083/;
    			proxy_set_header Host $http_host;
    			proxy_set_header X-Real-IP $remote_addr;
    			proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    		}
    
    
            #error_page  404              /404.html;
    
            # redirect server error pages to the static page /50x.html
            #
            error_page   500 502 503 504  /50x.html;
            location = /50x.html {
                root   /usr/share/nginx/html;
            }
    
            
        }
    
  3. 在 /home/docker/java/vue01目录中,创建Dockerfile文件

    # 使用nginx镜像
    FROM nginx
    # 作者
    MAINTAINER xxm
    # 删除nginx 默认配置
    RUN rm /etc/nginx/conf.d/default.conf
    # 添加我们自己的配置 default.conf 在下面
    ADD default.conf /etc/nginx/conf.d/
    # 把刚才生成dist文件夹下的文件copy到nginx下面去
    COPY dist/  /usr/share/nginx/html/
    
    

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-exKEbWu2-1608867005643)(C:\Users\xxm\AppData\Roaming\Typora\typora-user-images\image-20201204173910081.png)]

  4. 在 /home/docker/java/vue01目录中,执行命令创建镜像(注意后面的点不可以省略)

    docker build -t vue-demo .
    
  5. 运行镜像的一个容器

    docker run -d --name vue-demo-run -p 8086:80 vue-demo
    docker ps
    

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-VWvL7xer-1608867005644)(C:\Users\xxm\AppData\Roaming\Typora\typora-user-images\image-20201204175429117.png)]

  1. 浏览器中访问测试
http://192xx.xx.xx:8086
四、补充知识
多环境的配置思路

application.properties中配置通用内容,并设置spring.profiles.active=dev,以开发环境为默认配置
application-{profile}.properties中配置各个环境不同的内容
通过命令行方式去激活不同环境的配置。

FROM java:8
EXPOSE 8080
ADD ruoyi-admin.jar ruoyi-admin.jar
ENTRYPOINT ["java", "-jar", "/ruoyi-admin.jar","--spring.profiles.active=test"]
docker的学习与使用

对于新学习者来说,docker里面的概念比较抽象,如对镜像,容器这些。另外docker的命令和参数比较多。学习docker需要在大致了解概念的基础上,多操作多练习,再回过头来看里面的概念会更清晰。

五、总结
  1. 前后台分别打包
  2. 后台springboot的项目,通过Dockerfile文件创建对象镜像并运行
  3. 前台vue项目部署时,通过nginx来关联前后台地址
  4. Dockerfile文件创建镜像的命令为docker build,运行对应容器的命令为docker run
    ·
  • 2
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
当然,我可以为您提供一个详细教程来帮助您部署Vue+SpringBoot前后端分离项目到云服务器上使用Docker。 首先,确保您已经完成以下准备工作: - 注册一个云服务提供商的账号,并创建一个云服务器实例。 - 在本地环境中安装了Docker,并熟悉Docker的基本操作。 - 本地已经安装了Node.js和npm,以及Vue CLI和Java开发环境。 以下是详细的步骤: 1. 登录到云服务器: 使用SSH工具连接到您的云服务器。例如,使用命令行工具执行以下命令: ``` ssh username@server_ip_address ``` 2. 安装Docker: 根据您的云服务器的操作系统,选择对应的安装方进行Docker安装。以下是一些常见操作系统的安装命令: - Ubuntu: ``` sudo apt-get update sudo apt-get install docker.io ``` - CentOS: ``` sudo yum update sudo yum install docker ``` 3. 验证Docker安装是否成功: 执行以下命令来验证Docker是否已经成功安装: ``` docker version ``` 4. 构建Vue项目: 在本地开发环境中,使用Vue CLI创建Vue项目,并进行开发和测试。确保项目可以正常运行。 ``` vue create myproject cd myproject npm run serve ``` 5. 打包Vue项目: 在Vue项目根目录下执行以下命令,将Vue项目打包成静态文件。 ``` npm run build ``` 6. 创建SpringBoot项目: 使用Spring Initializr创建SpringBoot项目,并进行开发和测试。确保项目可以正常运行。 - 访问Spring Initializr网站:https://start.spring.io/ - 选择项目的基本设置,如使用的编程语言、构建工具、Spring Boot版本等。 - 添加所需的依赖项,如Spring Web、Spring Data JPA等。 - 点击"Generate"按钮下载生成的SpringBoot项目压缩包。 - 解压缩项目压缩包,并使用您喜欢的集成开发环境(IDE)打开项目。 7. 创建Dockerfile: 在SpringBoot项目的根目录下创建一个名为`Dockerfile`的文件,用于定义Docker镜像的构建步骤。在`Dockerfile`中添加以下内容: ``` FROM openjdk:8-jdk-alpine VOLUME /tmp ADD target/myproject.jar app.jar ENTRYPOINT ["java", "-jar", "/app.jar"] ``` 8. 构建Docker镜像: 在SpringBoot项目的根目录下执行以下命令,构建Docker镜像: ``` docker build -t myproject . ``` 9. 运行Docker容器: 执行以下命令,在Docker中运行SpringBoot项目Docker容器: ``` docker run -d -p 80:8080 myproject ``` 10. 访问应用: 使用浏览器访问您的云服务器的公网IP地址,即可查看部署好的前后端分离项目。 希望这个详细教程能够帮助您成功部署Vue+SpringBoot前后端分离项目到云服务器上使用Docker。如果您有任何问题,请随时提问!

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值