手把手教你Docker部署若依项目(前端服务)

本文详细介绍如何使用Docker部署若依项目的前端服务,包括打包前端项目、创建目录、编写Nginx配置文件及Dockerfile等内容,并进行构建测试。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

手把手教你Docker部署若依项目(前端服务)

使用Docker部署若依项目的前端服务,我们最终实现的是:启动一个镜像,我们的整个前端就启动了,想要修改nginx配置,直接挂载下目录修改即可。

一、 往常部署

如果我们不用docker部署,我们会怎样部署前端项目呢?

  1. 项目打成dist文件
  2. 上传服务器
  3. 下载nginx(docker下载或者压缩包安装)
  4. 配置nginx的端口转发

ok,我们就基于这个流程来将我们的前端项目做成docker镜像

二、制作docker镜像

我们的前端项目是利用nginx启动的,所以我们先将ruoyi-ui这个项目打包成dist文件,上传到服务器,然后编写dockerfile以及nginx配置文件,将dist文件和nginx配置文件copy到容器内部。最后打包测试。

1.打包ruoyi-ui文件

下载若依项目,然后进入到ruoyi-ui这个工程,根据文档使用 npm run build:prod打包项目

image-20210316114852500

2.创建目录,并上传
mkdir /ruoyi/docker-nginx -p

目录如下:

├── default.conf #nginx配置
├── dist # ruoyi-ui打包文件
└── Dockerfile
3.Nginx配置文件编写

nginx配置文件:主要配置域名和端口转发,点我查看文档,内容如下:

server {
    listen       80;
    server_name  localhost;

    location / {
            root   /data/dist;
            index  index.html index.htm;
                 try_files $uri $uri/ /index.html;
    }

   location /prod-api/ {
      proxy_pass  http://127.0.0.1:8080/; # 转发规则
      proxy_set_header Host $proxy_host; # 修改转发请求头,让8080端口的应用可以受到真实的请求
      proxy_set_header X-Real-IP $remote_addr;
      proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    }
}
4.Dockerfile文件编写
FROM nginx
MAINTAINER xiuyi/kid0510z@163.com
ENV RUN_USER nginx
ENV RUN_GROUP nginx
ENV DATA_DIR /data/dist
ENV LOG_DIR /data/log/nginx
RUN mkdir /data/log/nginx -p
RUN chown nginx.nginx -R /data/log/nginx
ADD dist /data/dist
ADD default.conf /etc/nginx/conf.d/default.conf
EXPOSE 80
ENTRYPOINT nginx -g "daemon off;"
5.构建测试
docker build -t ruoyiweb .
docker run -p 8088:80 --name ruoyi-web ruoyiweb

访问ip+8088,如下表示成功:

image-20210316150752091

6.问题?

我们发现页面可以访问,但是接口不通,这是因为我们后端还没有部署,如果我们仅仅是简单的 将后端服务打成jar包,然后java -jar 启动,这也是不可行的,因为nginx的配置中,转发的是 127.0.0.1 这个ip,也就是nginx容器内部的,但是我们的jar包是在容器外部的,这时候我们通过docker-compose很容易解决这个问题,我接下来我们部署后端项目,具体链接我放到下面。

相关链接

### 若依项目服务器部署程 #### 一、环境准备 在开始部署之前,需确认已安装并配置好必要的软件和工具。这些包括但不限于 JDK[^1]、Maven[^4]、Redis 和 MySQL 数据库。 对于 Windows 环境下的 JDK 安装,建议下载 Oracle 或 OpenJDK 的官方版本,并将其加入系统的 PATH 变量中。接着,在 Maven 配置方面,确保全局 settings.xml 文件正确指向镜像源以加速依赖项的下载过程。 #### 二、数据库初始化 完成基础环境搭建后,应着手于数据库表结构以及初始数据的创建。通过执行 SQL 脚本文件来实现这一点,该脚本通常位于若依项目的 resources 目录下。此步骤完成后,记得更新 application.yml 中的数据连接参数至实际使用的数据库实例上。 #### 三、前端资源处理与 Nginx 托管 针对 Vue 构建而成的前端部分,需要借助 npm 或 yarn 工具来进行生产模式下的编译操作。为了提高加载速度还可以考虑对静态资产做进一步压缩优化。最后一步则是把生成好的 dist 文件夹放置到已经配置完毕的 Nginx web 根目录里去。 #### 四、后端应用打包与运行 采用 Spring Boot 技术栈开发出来的 ruoyi-admin 子模块可以直接被打成独立可执行 JAR 文件形式发布出去。如果遇到缺少某些第三方组件的情况,则先行切换到整个工程根节点处执行 mvn install 命令以便拉取所需 jar 包后再单独尝试重新构建目标子项目即可解决此类问题。得到的目标产物一般会存放在 target 下面等待后续分发使用。 另外一种情况是当希望以 WAR 形态交付给 Tomcat 这样的传统 Servlet 容器时,则按照 Roc-xb 博客文章指导方法进行相应调整设置之后再导出 war 版本出来上传至指定位置供容器加载启动之用[^2]。 #### 五、Docker 方式快速上线 (可选) 除了上述常规手段外,也可以利用 Docker 来简化整体流程。具体做法参照【手把手程】内的说明依次调用对应 shell 脚本来完成各个阶段的任务直至最终服务正常对外提供接口为止[^3]。 ```bash # 启动 base 环境示例命令 [root@localhost docker]# ./deploy.sh base ``` 以上就是关于如何将若依项目成功部署服务器上的详细介绍内容。 ---
评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值