Files
FastapiAdmin/docker-compose.yaml
T
zhangtao 40a58df666 refactor(docker): 合并Dockerfile并更新部署指南
- 删除旧的Dockerfile.frontend和Dockerfile.backend,合并为单一的Dockerfile
- 更新docker-compose.yaml以使用新的Dockerfile
- 移除部署指南中的本地部署部分,添加docker部署说明
- 更新前端.env.production中的API地址
- 优化nginx配置以解决页面刷新404问题
2025-05-17 09:01:27 +08:00

86 lines
1.7 KiB
YAML

# 应用服务
services:
# 数据库服务
mysql:
container_name: mysql
image: mysql:8.0
restart: always
environment:
- MYSQL_ROOT_PASSWORD=123456
- TZ=Asia/Shanghai
ports:
- "3306:3306"
volumes:
- /home/mysql/data:/var/lib/mysql
- /etc/localtime:/etc/localtime:ro
# 让容器的时钟与宿主机时钟同步,避免时间的问题,ro(read only),表示只读。
networks:
- mysql_network
# redis服务
redis:
container_name: redis
image: redis:6
restart: always
ports:
- "6379:6379"
volumes:
- /home/redis/redis.conf:/etc/redis/redis.conf
- /home/redis/data:/data
command: redis-server /etc/redis/redis.conf
networks:
- redis_network
# 后端服务
backend:
# 容器名称
container_name: backend
# 构建镜像
build:
context: .
dockerfile: Dockerfile
# 端口映射
ports:
- "8001:8001"
volumes:
- ./backend:/home
- /etc/localtime:/etc/localtime:ro
networks:
- backend-network
restart: always
depends_on:
- mysql
- redis
# 前端服务nginx服务
frontend:
container_name: nginx
image: "nginx:latest"
restart: always
ports:
- "80:80"
volumes:
- ./nginx.conf:/etc/nginx/nginx.conf
- ./frontend/dist:/usr/share/nginx/html
networks:
- frontend_network
depends_on:
- backend
# 网络
networks:
mysql_network:
driver: bridge
redis_network:
driver: bridge
frontend_network:
driver: bridge
backend-network:
driver: bridge
# 文件挂载
volumes:
mysql_data:
redis_data:
mongodb_data: