5分钟部署多服务前端应用:MFE-starter与Docker Compose实战指南

5分钟部署多服务前端应用:MFE-starter与Docker Compose实战指南

【免费下载链接】MFE-starter MFE Starter 【免费下载链接】MFE-starter 项目地址: https://gitcode.com/gh_mirrors/mf/MFE-starter

你是否还在为前端项目的环境配置而头疼?本地开发环境与生产环境不一致、多服务依赖冲突、部署流程繁琐等问题,是否让你频繁加班却效率低下?本文将带你使用MFE-starter与Docker Compose,通过5个步骤实现多服务应用的一键部署,彻底解决环境一致性难题。读完本文,你将掌握容器化部署的核心技巧,实现"一次配置,处处运行"的开发体验。

为什么选择MFE-starter与Docker Compose?

MFE-starter是一个基于Angular的微前端(Micro-Frontend, 微前端) starter项目,集成了Webpack、TypeScript等现代前端工具链,提供了完整的开发、构建和测试流程。其核心优势在于支持模块化开发,可将大型应用拆分为独立部署的小型前端应用。

Docker Compose则是Docker官方提供的多容器编排工具,通过一个YAML文件定义多个服务的配置,实现多服务的协同部署与管理。两者结合,可完美解决微前端架构下的多服务部署难题。

项目核心文件结构如下:

部署前的准备工作

环境要求

确保你的开发环境已安装:

  • Docker Engine (20.10+)
  • Docker Compose (v2+)
  • Git

获取项目代码

git clone https://gitcode.com/gh_mirrors/mf/MFE-starter
cd MFE-starter

核心配置文件解析

Docker Compose配置

打开docker-compose.yml,可以看到项目定义了一个名为angular-starter的服务:

version: '3'
services:
  angular-starter:
    build:
      context: .
      dockerfile: Dockerfile-dev
    container_name: angular-starter
    networks:
      - angular-starter
    ports:
      - '3000:3000'
    environment:
     - HOST=0.0.0.0
    command: npm run start
networks:
  angular-starter:
    driver: bridge

这个配置定义了:

  • 使用Dockerfile-dev构建开发环境镜像
  • 将容器内3000端口映射到宿主机3000端口
  • 设置环境变量HOST=0.0.0.0允许外部访问
  • 启动命令为npm run start,对应package.json中的开发服务器脚本

开发与构建脚本

查看package.json中的核心脚本:

脚本命令功能描述
npm run start启动开发服务器,支持热重载
npm run build:dev开发环境构建
npm run build:prod生产环境构建,含代码压缩与优化
npm run build:docker构建生产环境Docker镜像

一键部署开发环境

启动服务

在项目根目录执行:

docker-compose up -d

该命令会:

  1. 构建Docker镜像(首次执行较慢,后续会使用缓存)
  2. 创建并启动容器
  3. 建立专用网络angular-starter

验证部署结果

打开浏览器访问http://localhost:3000,若能看到Angular应用界面,说明部署成功。

项目使用Angular框架构建,核心应用代码位于src/app/目录,主要包含:

生产环境部署优化

构建生产镜像

npm run build:docker

该命令会先执行build:prod生成优化后的静态资源,再通过Dockerfile构建生产镜像。

自定义环境配置

项目提供了多环境配置文件:

修改生产环境API地址示例:

{
  "apiUrl": "https://api.yourdomain.com"
}

常见问题解决方案

端口冲突

若3000端口已被占用,修改docker-compose.yml中的端口映射:

ports:
  - '3001:3000'  # 将宿主机端口改为3001

依赖更新

package.json中的依赖更新后,需重新构建镜像:

docker-compose down
docker-compose up -d --build

日志查看

docker-compose logs -f angular-starter

总结与扩展

通过本文,你已掌握使用Docker Compose部署MFE-starter项目的完整流程。这个方案的优势在于:

  • 环境一致性:消除"在我电脑上能运行"的问题
  • 隔离性:每个服务运行在独立容器中,避免依赖冲突
  • 可扩展性:如需添加后端API服务,只需在docker-compose.yml中增加服务定义

下一步,你可以尝试:

  1. 添加Nginx服务作为前端资源服务器
  2. 集成数据库服务实现全栈部署
  3. 使用CI/CD管道实现自动化部署

项目完整配置可参考README.md,如有问题可查阅官方文档或提交issue。

点赞+收藏+关注,下期带来《微前端架构下的服务间通信方案》

【免费下载链接】MFE-starter MFE Starter 【免费下载链接】MFE-starter 项目地址: https://gitcode.com/gh_mirrors/mf/MFE-starter

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值