当前位置: 首页 > news >正文

电商平台网站定制网络规划设计师教程读后感

电商平台网站定制,网络规划设计师教程读后感,网站建设方案多少钱,赣州省住房和城乡建设厅网站基于Docker Compose的若依多服务一键部署实践 在项目开发中,多服务部署常常让人头疼。环境配置复杂、操作步骤繁琐,稍不注意就容易出错。不过,有了 Docker Compose ,这些问题就简单多啦!它能帮我们高效编排多个容器&am…

基于Docker Compose的若依多服务一键部署实践

在项目开发中,多服务部署常常让人头疼。环境配置复杂、操作步骤繁琐,稍不注意就容易出错。不过,有了 Docker Compose ,这些问题就简单多啦!它能帮我们高效编排多个容器,轻松实现多服务的一键部署。今天,我就以若依(Ruoyi)项目为例,给大家讲讲怎么用 Docker Compose 部署前端、后端和测试服务 。

一、项目结构与核心文件

(一)目录结构

在这里插入图片描述

我们的项目文件放在 D:\app\project\集成docker实现一键部署 路径下,关键的目录和文件有这些:

  • conf:存 Nginx 配置文件,像 nginx.conf ,决定 Nginx 咋运行 。
  • html:放前端构建好的静态资源(dist 文件夹 ),Nginx 会用它给前端提供访问 。
  • jar:存后端服务的可执行 JAR 文件,比如 ruoyi.jar(若依后端 )、test.jar(测试服务 )。
  • nginx:有 Nginx 的日志目录(logs )、额外配置文件目录(conf.d ),让 Nginx 功能更灵活 。
  • ruoyi:给若依后端和测试服务存日志(logs )和文件上传路径(uploadPath )。
  • docker-compose.yml:Docker Compose 的核心配置文件,定义了多服务咋编排,包括咋构建镜像、映射端口、挂载数据卷 。
  • nginx-dockerfileruoyi-dockerfiletest-dockerfile:分别对应 Nginx、若依后端、测试服务的 Dockerfile ,用来构建各自的 Docker 镜像 。

(二)核心文件解析

1. docker-compose.yml
version: '3'
services:# Nginx 服务,负责前端反向代理ruoyi-nginx:container_name: ruoyi-nginx image: nginx build:context: .  dockerfile: nginx-dockerfile ports:- "180:180"  volumes:- ./html/dist:/home/ruoyi/projects/ruoyi-ui - ./conf/nginx.conf:/etc/nginx/nginx.conf - ./nginx/logs:/var/log/nginx - ./nginx/conf.d:/etc/nginx/conf.d depends_on:- ruoyi-server  # 若依后端服务ruoyi-server:container_name: ruoyi-server build:context: .  dockerfile: ruoyi-dockerfile ports:- "8085:8085"  volumes:- ./ruoyi/logs:/home/ruoyi/logs - ./ruoyi/uploadPath:/home/ruoyi/uploadPath # 测试服务test:container_name: test build:context: .  dockerfile: test-dockerfile ports:- "8086:8086"  volumes:- ./ruoyi/logs:/home/ruoyi/logs - ./ruoyi/uploadPath:/home/ruoyi/uploadPath 

这个文件定义了三个服务 。ruoyi-nginx 是前端反向代理,用 Nginx 镜像构建,还配置了端口映射、数据卷挂载,依赖 ruoyi-server 先启动 。ruoyi-servertest 是后端服务,各自用对应的 Dockerfile 构建,也配置了端口和数据卷,方便日志和文件上传路径持久化 。

2. ruoyi-dockerfile(若依后端镜像构建文件 )
# 基础镜像用 OpenJDK 11,给 Java 应用提供运行环境
FROM openjdk:11
MAINTAINER ruoyi VOLUME /home/ruoyi 
RUN mkdir -p /home/ruoyi 
WORKDIR /home/ruoyi 
COPY ../jar/ruoyi.jar /home/ruoyi/ruoyi.jar 
ENTRYPOINT ["java", "-jar", "ruoyi.jar"] 

基于 OpenJDK 11 镜像,先创建工作目录,把若依的 JAR 文件复制进去,最后定义启动命令,这样就能构建出运行若依后端服务的 Docker 镜像 。

3. test-dockerfile(测试服务镜像构建文件 )
# 基础镜像也是 OpenJDK 11
FROM openjdk:11
MAINTAINER ruoyi VOLUME /home/ruoyi 
RUN mkdir -p /home/ruoyi 
WORKDIR /home/ruoyi 
COPY ../jar/test.jar /home/ruoyi/test.jar 
ENTRYPOINT ["java", "-jar", "test.jar"] 

ruoyi-dockerfile 思路差不多,就是针对测试服务的 JAR 文件,构建对应的 Docker 镜像,配置启动命令 。

二、部署步骤

(一)环境准备

得先装 Docker 和 Docker Compose 。在终端(或命令提示符 )里,用 docker --versiondocker compose --version (或者 docker-compose --version ,看版本 )看看装了没 。要是没装,就根据自己的操作系统(Windows、Linux、macOS ),去官方文档找安装方法 。另外,把若依前端构建好的 dist 静态资源、后端 ruoyi.jar 、测试服务 test.jar 放到对应目录(html/distjar/ruoyi.jarjar/test.jar )。

(二)构建并启动服务

打开终端,进入项目目录 D:\app\project\集成docker实现一键部署 ,执行命令:

docker compose up -d

Docker Compose 会按照 docker-compose.yml 的配置,构建各个服务的镜像(用对应的 Dockerfile ),创建并启动容器 。过程中能看到构建日志和容器启动状态 。

(三)验证部署结果

  1. 访问前端和 Nginx:打开浏览器,输入 http://localhost:180 (本地部署的话 ),要是能正常显示若依前端页面,说明 Nginx 服务和前端资源挂载没问题 。
  2. 测试后端服务:用 Postman 之类的工具,访问若依后端接口,比如 http://localhost:8085/xxx/api (具体路径看若依项目 ),能拿到正常响应,就说明 ruoyi-server 运行正常 。
  3. 测试测试服务:同样,访问测试服务的接口(http://localhost:8086/xxx/test-api ,看实际服务 ),验证 test 服务工作咋样 。
  4. 检查日志和数据卷:去 ruoyi/logs 目录,看看有没有服务运行日志;要是服务能上传文件,往 ruoyi/uploadPath 传个文件,瞅瞅容器里对应的路径有没有这个文件,验证数据卷挂载对不对 。

三、常见问题及解决办法

(一)镜像构建失败

构建镜像时出错,比如 COPY 指令找不到 JAR 文件,或者基础镜像拉不下来 。
解决:检查 DockerfileCOPY 指令的路径对不对,确保 JAR 文件在指定位置 。要是基础镜像拉取失败,看看网络,或者换国内的 Docker 镜像源(像阿里云的 ),重新构建 。

(二)容器启动失败

容器启动后又退出,或者看日志发现应用启动报错(端口被占、配置文件错了 )。
解决:用 netstat -ano(Windows )或者 lsof -i :端口号(Linux、macOS )查查端口是不是被别的进程占用了 。看看容器日志(docker logs 容器名称 ),根据报错改配置文件,改完重启服务(docker compose restart 服务名称 )。

(三)服务间网络通信有问题

ruoyi-nginx 没法反向代理到 ruoyi-server ,或者测试服务和其他服务通信失败 。
解决:Docker Compose 会给项目建默认网络,服务间能用服务名称(比如 ruoyi-servertest )当主机名通信 。检查服务间调用的 URL ,是不是用了正确的服务名称和端口。要是还不行,就在 docker-compose.yml 里显式定义网络,让各服务加入同一个网络 ,示例:

version: '3'
networks:ruoyi-network:driver: bridge
services:ruoyi-nginx:networks:- ruoyi-networkruoyi-server:networks:- ruoyi-networktest:networks:- ruoyi-network

四、总结

用 Docker Compose 部署若依多服务,把复杂的部署流程变简单啦 !通过合理规划目录结构、写好 Dockerfile 和 Docker Compose 配置,能快速构建、启动和管理若依的前端反向代理、后端服务、测试服务

http://www.dtcms.com/a/526448.html

相关文章:

  • 合肥做网站的公司百度广告公司名字 三个字
  • 婚恋网站建设项目创业计划书中国建设银行官网站纪念币预约
  • 合肥专业网站建设公司哪家好竞价推广运营
  • 东风地区网站建设价格低wordpress 博客多人
  • 镇江哪里做网站制作商城公司
  • 在线制作头像生成宁波seo推广推荐公司
  • 管理科学基础知识__决策分析
  • UVa 13277 XOR Path
  • world做网站google广告联盟网站
  • 统计网站建设程序亚马逊网官网首页
  • linux之RabbitMQ消息队列
  • 新手学做网站图纸数字短链接生成
  • 常州装修网站建设公司西安市建设工程信息网平台官网
  • Compose 插槽 API 简介、实战
  • 网站建设实习困难网站sem优化怎么做
  • 我的网站别人给黑链 攻击天元建设集团有限公司经济活动分析
  • 优质的网站建设公司沧县做网站价格
  • 50个单页面网站设计欣赏(2)十大工业互联网平台
  • 静态网站开发外文文献株洲论坛
  • 网站语言选择查询公司营业执照的网站
  • 【Linux】常见的系统调用 函数和功能简单总结
  • 个人做网站费用wordpress开放平台
  • 东莞网站建设aj博客wordpress地址和找点地址
  • 常见网站模式如何申请一个自己的网站
  • 我想找个郑州做网站的西安门户网站建设公司哪家好
  • 深入浅出Java 8 Lambda表达式
  • 软件开发 网站开发 不同赣州企业网
  • 域名注册万网北京网站优化步
  • 东莞电子网站建设dw设计一个简单网站
  • 东莞网站维护买到域名怎么做网站