Files

42 lines
1.3 KiB
YAML
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
services:
# ================= 后端:FastAPI + SQLAlchemy =================
# 构建上下文是后端代码根目录(本文件在 vue/ 下,../.. 即 sqlalchemy_fastapi_demo_1)
fastapi:
build:
context: ../..
dockerfile: Dockerfile
image: student-system-api:1.0
container_name: fastapi-backend
ports:
- "8004:8004"
environment:
APP_HOST: 0.0.0.0
APP_PORT: 8004
APP_RELOAD: "false"
# MySQL 跑在宿主机上:容器里的 localhost 指容器自己,必须用 host.docker.internal
MYSQL_HOST: host.docker.internal
MYSQL_PORT: 3306
MYSQL_USER: root
MYSQL_PASSWORD: "123456"
MYSQL_NAME: 0914tw
extra_hosts:
- "host.docker.internal:host-gateway" # Linux 需要这行,Win/Mac Docker Desktop 自带
restart: unless-stopped
# ================= 前端:Vue + Nginx =================
vue-frontend:
build:
context: .
dockerfile: Dockerfile
image: student-system-vue:1.0
container_name: vue-frontend
ports:
- "8080:80" # 浏览器访问 http://localhost:8080
environment:
# 填服务名,走 compose 内部网络;若后端在宿主机上直接跑,改成 host.docker.internal
BACKEND_HOST: fastapi
BACKEND_PORT: 8004
depends_on:
- fastapi
restart: unless-stopped