使用docker-compose在服务器配置前后端分离项目
时间: 2025-03-13 15:20:56 AIGC 浏览: 53
### 使用 Docker-Compose 实现前后端分离项目的部署与配置
#### 一、环境准备
为了成功使用 `docker-compose` 部署前后端分离项目,需确保已正确安装并初始化所需的工具和服务。以下是具体的操作说明:
1. **安装 Docker 和 Docker Compose**
安装 Docker 的命令如下:
```bash
sudo yum install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
```
此外,可以通过以下方式单独安装最新版本的 Docker Compose[^4]:
```bash
curl -L https://get.daocloud.io/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m) -o /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose
```
2. **验证安装**
确认 Docker 和 Docker Compose 是否正常运行:
```bash
docker --version && docker-compose --version
```
---
#### 二、构建前后端分离架构
假设我们有一个基于 Vue.js 的前端应用和 Spring Boot 后端服务。
1. **创建项目目录结构**
创建一个名为 `java-vue` 的工作目录,并在此基础上完成后续操作[^5]。
```bash
mkdir java-vue && cd java-vue
```
2. **编写 `docker-compose.yml` 文件**
下面是一个典型的 `docker-compose.yml` 文件示例,用于定义前后端容器以及反向代理(Nginx)的服务关系[^3]:
```yaml
version: '3'
services:
nginx:
image: nginx:latest
ports:
- "80:80"
volumes:
- ./nginx.conf:/etc/nginx/nginx.conf
- ./frontend/dist:/usr/share/nginx/html
depends_on:
- backend
restart: always
frontend:
build: ./frontend
command: npm run build
environment:
NODE_ENV: production
working_dir: /app
volumes:
- ./frontend:/app
backend:
build: ./backend
expose:
- "8080"
environment:
SPRING_PROFILES_ACTIVE: prod
restart: always
```
3. **配置 Nginx 反向代理**
编写 `nginx.conf` 文件来设置反向代理逻辑,使请求能够被路由至对应的后端接口或静态资源文件夹:
```conf
events {}
http {
server {
listen 80;
location /api/ {
proxy_pass http://backend:8080/;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
location / {
root /usr/share/nginx/html;
index index.html;
try_files $uri /index.html;
}
}
}
```
---
#### 三、启动服务
当所有配置完成后,在当前目录下执行以下命令即可启动整个项目:
```bash
docker-compose up -d
```
此命令会以后台模式运行所有的服务实例。
如果需要停止这些服务,则可以输入:
```bash
docker-compose down
```
---
### 总结
上述流程展示了如何利用 Docker Compose 来简化复杂应用程序中的多组件管理过程。通过这种方式不仅可以轻松实现微服务体系下的开发测试需求,还能有效提升生产环境中的一致性和可维护性[^1].
阅读全文
相关推荐




















