跳到主要内容
极客日志极客日志面向AI+效率的开发者社区
首页博客我的书AI学习GitHub 精选镜像AI 生图工具UI配色美学关于
搜索内容 / 工具 / 仓库 / 镜像...⌘K搜索
注册
博客列表
JavaAI大前端java

Docker 项目部署实战:后端、前端与数据库配置

基于 Docker 的全栈项目部署流程涵盖后端 Java 应用、前端 Nginx 服务及数据库配置。后端通过 Maven 打包为 JAR 包,配合 Dockerfile 构建镜像,启动时映射端口并连接数据库网络。前端利用 Nginx 容器托管静态资源,通过挂载宿主机目录管理配置文件,借助 Docker 内部网络实现反向代理至后端。部署遵循先数据库后应用的顺序,确保环境稳定及服务连通性验证。

芝士奶盖发布于 2026/3/15更新于 2026/9/1069 浏览

部署服务端(后端)

文章配图

1. 修改项目配置文件

修改数据库服务地址,进行打包(跳过测试),并将打包后的 jar 包命名为 tlias.jar。

文章配图

执行 Maven 的 package 生命周期进行打包。

文章配图

文章配图

2. 编写 Dockerfile 文件

由于项目运行依赖 JDK 环境,需要将 tlias.jar、jdk17.tar.gz 和 Dockerfile 三个文件上传到 Linux 服务器的 /root/tlias 目录下(若目录不存在需提前创建)。

文章配图

3. 构建镜像与部署容器

  • 构建 Docker 镜像
docker build -t tlias:1.0 .

文章配图

  • 部署 Docker 容器
docker run -d --name tlias-server --network itheima -p 8080:8080 tlias:1.0

通过 docker logs -f 容器名 查看容器运行日志。

文章配图

后端服务已启动。

部署前端

文章配图

需求:创建一个新的 Nginx 容器,将前端项目的静态资源部署到 Nginx 中。

步骤:在宿主机上准备静态文件及配置文件存放目录(在 /usr/local 目录下创建 tlias-web 目录)。

挂载参数:

-v /usr/local/tlias-web/html:/usr/share/nginx/html
-v /usr/local/tlias-web/conf/nginx.conf:/etc/nginx/nginx.conf

1. 部署 Nginx 容器(设置目录映射)

将目录 html 和配置文件存放目录 conf 上传至服务器端的 /usr/local/tlias-web 目录下。

文章配图

文章配图

文章配图

执行命令部署 Nginx 容器。前后端都部署完毕后,打开浏览器访问前端的 Nginx 服务器进行测试。

文章配图

总结

部署 MySQL

在前面的本地目录挂载中实现了 MySQL 操作容器数据目录、配置文件以及初始化脚本的目录挂载。初始化脚本中包含相关的数据库文件。

文章配图

后端项目部署思路

一般按'数据库 → 应用 → 容器化 → 部署验证'的思路进行:

  1. 准备基础环境:使用 Docker 启动 MySQL 容器,创建业务所需的数据库和表结构,确保数据库服务稳定可访问。
  2. 处理后端应用:以 Java / Spring Boot 为例,修改项目配置文件将数据库地址改为容器或服务器对应的地址,调整日志配置以便运维,将项目打包成可运行的 JAR 包。
  3. 容器化:编写 Dockerfile 指定基础 JDK 镜像,把 JAR 包复制到镜像中并设置启动方式,构建后端应用的 Docker 镜像。
  4. 部署运行:使用构建好的镜像启动容器,配置端口映射、环境变量、日志目录挂载,确认后端服务能正常启动并连接数据库。
  5. 验证:通过接口或前端访问验证服务是否正常,检查日志和数据库连接。

核心在于先保证数据库可用,再让应用配置适配容器环境,最后通过 Docker 实现标准化部署。

前端项目部署思路

通常通过 Nginx + Docker 容器化方式部署前端静态资源:

  1. 创建并部署 Nginx 容器:使用 Docker 启动独立的 Nginx 容器,通过目录映射将前端打包后的静态资源映射到 Nginx 的 html 目录,将自定义的 nginx.conf 配置文件映射到容器中,便于宿主机统一管理。
  2. 配置反向代理:在 nginx.conf 中配置反向代理规则,直接使用 Docker 容器名作为 upstream 地址。基于 Docker 内部网络的容器名自动 DNS 解析机制,容器重启 IP 改变也不受影响,服务之间解耦更稳定。
  3. 上传并部署资源:将前端项目打包后的静态文件上传到服务器,放入 Nginx 容器映射的目录中,同时准备好对应的 Nginx 配置文件。
  4. 启动验证:启动 Nginx 容器,通过浏览器访问前端地址,验证静态资源加载及接口请求是否成功被反向代理到后端容器。

总结:前端通过 Nginx 容器提供静态资源服务,并利用 Docker 网络和容器名实现对后端容器的反向代理,整体部署方式清晰、稳定、易维护。

目录

  1. 部署服务端(后端)
  2. 1. 修改项目配置文件
  3. 2. 编写 Dockerfile 文件
  4. 3. 构建镜像与部署容器
  5. 部署前端
  6. 1. 部署 Nginx 容器(设置目录映射)
  7. 总结
  8. 部署 MySQL
  9. 后端项目部署思路
  10. 前端项目部署思路

更多推荐文章

查看全部
  • 多模态 AI 如何让 LLM 看见并理解世界
  • 网络安全学习指南:核心知识与技能路径
  • 《Agent Runtime 工程化》第十二章 二开毕业项目:12.2 方向 B:Context Budget Allocator
  • Meta Llama 4 Scout MoE 架构与性能深度解析
  • 如何入门网络安全技术与伦理规范
  • Python 根据小红书关键词爬取笔记数据
  • Flutter 跨平台开发学习指南:从 Dart 基础到实战项目
  • 2026 年高薪就业赛道:AI 大数据、大模型、AIGC 与云计算
  • Java 中基于属性的访问控制(ABAC):动态上下文感知权限管理
  • 基于腾讯云轻量应用服务器部署 OpenClaw 并接入 IM 机器人
  • OpenClaw 实战:持久记忆与 RAG 知识库构建
  • JavaScript 基础:变量、DOM、表单与定时器
  • 计算机视觉面试题精讲:核心算法与代码实现
  • 第二届人工智能、虚拟现实与交互设计国际学术会议(AIVRID 2026)
  • 基于 Coze 工作流实现“葬经人”风格动画短视频自动生成
  • 前端工程师转型 AI Agent 开发工程师完整学习路线
  • 多模态大模型学习路线:CLIP、BLIP 及 VisualGLM 实践指南
  • C++入门:历史、首个程序与命名空间详解
  • Kubernetes Informer 核心机制与源码结构解析
  • MC.JS WEBMC1.8 实战:构建在线多人沙盒游戏

相关免费在线工具

  • Keycode 信息

    查找任何按下的键的javascript键代码、代码、位置和修饰符。 在线工具,Keycode 信息在线工具,online

  • Escape 与 Native 编解码

    JavaScript 字符串转义/反转义;Java 风格 \uXXXX(Native2Ascii)编码与解码。 在线工具,Escape 与 Native 编解码在线工具,online

  • JavaScript / HTML 格式化

    使用 Prettier 在浏览器内格式化 JavaScript 或 HTML 片段。 在线工具,JavaScript / HTML 格式化在线工具,online

  • JavaScript 压缩与混淆

    Terser 压缩、变量名混淆,或 javascript-obfuscator 高强度混淆(体积会增大)。 在线工具,JavaScript 压缩与混淆在线工具,online

  • RSA密钥对生成器

    生成新的随机RSA私钥和公钥pem证书。 在线工具,RSA密钥对生成器在线工具,online

  • Mermaid 预览与可视化编辑

    基于 Mermaid.js 实时预览流程图、时序图等图表,支持源码编辑与即时渲染。 在线工具,Mermaid 预览与可视化编辑在线工具,online