Files
FastapiAdmin/devops/docker-compose.yaml
T
2025-01-22 11:08:40 +08:00

110 lines
1.9 KiB
YAML

version: "3.10.11"
# 应用服务
services:
# 前端服务
frontend:
container_name: frontend
build:
context: .
dockerfile: frontend/Dockerfile
ports:
- "80:80"
depends_on:
- backend
networks:
- app-network
# 后端服务
backend:
# 容器名称
container_name: backend
# 构建镜像
build:
context: .
dockerfile: build/Dockerfile
# 端口映射
ports:
- "8000:8000"
environment:
- MYSQL_HOST=mysql
- MYSQL_PORT=3306
- MYSQL_USER=root
- MYSQL_PASSWORD=123456
- MYSQL_DATABASE=fastapi_admin
- REDIS_HOST=redis
- REDIS_PORT=6379
- MONGODB_URL=mongodb://mongodb:27017/
depends_on:
- mysql
- redis
- mongodb
networks:
- app-network
restart: always
# 数据库服务
mysql:
container_name: mysql
image: mysql:8.0
environment:
- MYSQL_ROOT_PASSWORD=123456
- MYSQL_DATABASE=fastapi_admin
ports:
- "3306:3306"
volumes:
- mysql_data:/var/lib/mysql
networks:
- app-network
# redis服务
redis:
container_name: redis
image: redis:latest
ports:
- "6379:6379"
volumes:
- redis_data:/data
networks:
- app-network
# mongodb服务
mongodb:
container_name: mongodb
image: mongo:latest
ports:
- "27017:27017"
volumes:
- mongodb_data:/data/db
networks:
- app-network
# nginx服务
nginx:
container_name: nginx
restart: always
image: "nginx:latest"
ports:
- "5000:5000"
volumes:
- ./nginx:/etc/nginx/conf.d
networks:
- web_network
depends_on:
- flask_api
# 网络
networks:
db_network:
driver: bridge
web_network:
driver: bridge
app-network:
driver: bridge
# 文件挂载
volumes:
mysql_data:
redis_data:
mongodb_data: