# ======================================== # 汇率换算服务 Docker Compose 配置 # ======================================== version: "3.8" services: # 汇率换算服务 exchange-rates: build: context: . dockerfile: Dockerfile container_name: exchange-rates restart: unless-stopped # 端口映射 ports: - "${SERVER_PORT:-8000}:8000" # 环境变量配置 environment: # API Keys - 多个 key 用逗号分隔 - API_KEYS=${API_KEYS:-your_api_key_here} # 基准货币 - BASE_CURRENCY=${BASE_CURRENCY:-CNY} # 缓存更新间隔(秒) - CACHE_UPDATE_INTERVAL=${CACHE_UPDATE_INTERVAL:-3600} # API 请求超时时间(秒) - REQUEST_TIMEOUT=${REQUEST_TIMEOUT:-10} # 最大重试次数 - MAX_RETRIES=${MAX_RETRIES:-3} # 服务端口 - SERVER_PORT=8000 # 时区设置 - TZ=Asia/Shanghai # 使用 .env 文件加载环境变量 env_file: - .env # 健康检查 healthcheck: test: ["CMD", "python", "-c", "import httpx; httpx.get('http://localhost:8000/health', timeout=5)"] interval: 30s timeout: 10s retries: 3 start_period: 10s # 日志配置 logging: driver: "json-file" options: max-size: "10m" max-file: "3" # 资源限制(可选) deploy: resources: limits: cpus: "1.0" memory: 512M reservations: cpus: "0.25" memory: 128M # ======================================== # 使用说明: # ======================================== # 1. 确保已配置 .env 文件(参考 .env.example) # 2. 构建并启动服务: # docker-compose up -d --build # 3. 查看日志: # docker-compose logs -f # 4. 停止服务: # docker-compose down # 5. 访问服务: # - 首页: http://localhost:8000 # - API 文档: http://localhost:8000/docs # ========================================