java前后端分离项目docker部署
时间: 2025-01-11 08:40:39 浏览: 36
### 使用 Docker 部署 Java 前后端分离架构的项目
#### 创建 Spring Boot 后端镜像
为了构建一个基于 Spring Boot 的后端应用,首先需要编写 `Dockerfile` 文件来定义如何打包应用程序。对于使用 JDK 8 开发的应用程序来说,基础镜像是非常重要的选择:
```dockerfile
FROM java:8
MAINTAINER xtt
VOLUME /tmp
ADD service-system.jar guigu_docker.jar
RUN bash -c 'touch /guigu_docker.jar'
ENTRYPOINT ["java", "-jar", "/guigu_docker.jar"]
EXPOSE 8800
```
这段脚本指定了基础镜像为 `java:8` 版本,并设置了必要的启动参数以及暴露了用于微服务通信的 8800 端口[^1]。
接着可以通过如下命令构建自定义的 Docker 镜像:
```bash
docker build -t my-spring-boot-app .
```
这会读取当前目录下的 `Dockerfile` 并按照其中指令逐步创建一个新的 Docker 映像[^2]。
#### 构建 Vue.js 前端镜像
前端部分通常由静态资源构成,因此推荐利用 Nginx 来提供这些文件的服务。为此也需要准备相应的 `Dockerfile`:
```dockerfile
FROM nginx:alpine
COPY dist /usr/share/nginx/html
EXPOSE 80
```
这里的假设是已经有一个名为 `dist` 的文件夹包含了编译好的 Vue 应用程序。同样地,可以使用下面这条命令来进行构建操作:
```bash
docker build -t my-vuejs-front-end .
```
#### 组合管理前后端容器
当分别拥有了各自的 Docker 镜像之后,就可以借助于 Docker Compose 工具轻松实现多容器间的协调工作。先准备好 `docker-compose.yml` 文件的内容:
```yaml
version: '3'
services:
backend:
image: my- "8800:8800"
frontend:
image: my-vuejs-front-end
depends_on:
- backend
ports:
- "80:80"
```
上述 YAML 文档描述了一个简单的应用场景——两个独立的服务被命名为 `backend` 和 `frontend` ,并通过 `depends_on` 关键字确保前者先启动再加载后者。
最后一步就是执行以下命令让整个系统跑起来:
```bash
docker-compose up -d
```
这样就完成了从零开始直到最终上线的一整套流程介绍[^4]。
阅读全文
相关推荐


















