diff --git a/.env.docker b/.env.docker index 94923a9..9b54728 100644 --- a/.env.docker +++ b/.env.docker @@ -1,19 +1,21 @@ -# 数据库配置 -DB_HOST=db -DB_PORT=3306 -DB_USER=ai_user -DB_PASSWORD=yourpassword -DB_NAME=ai_dressing +# DashScope API密钥 +DASHSCOPE_API_KEY=sk-caa199589f1c451aaac471fad2986e28 -# 阿里云百炼平台配置 -DASHSCOPE_API_KEY=your_dashscope_api_key +# 服务器配置 +HOST=127.0.0.1 +PORT=9001 +DEBUG=True # 腾讯云配置 -QCLOUD_SECRET_ID=your_qcloud_secret_id -QCLOUD_SECRET_KEY=your_qcloud_secret_key +QCLOUD_SECRET_ID=AKIDxnbGj281iHtKallqqzvlV5YxBCrPltnS +QCLOUD_SECRET_KEY=ta6PXTMBsX7dzA7IN6uYUFn8F9uTovoU +QCLOUD_COS_REGION=ap-chengdu +QCLOUD_COS_BUCKET=aidress-1311994147 +QCLOUD_COS_DOMAIN=https://aidress-1311994147.cos.ap-chengdu.myqcloud.com -# 应用配置 -APP_NAME=AI-Dressing -APP_DESCRIPTION=基于阿里百炼平台的AI试衣服务 -APP_VERSION=0.1.0 -DEBUG=False \ No newline at end of file +# 数据库配置 +DB_HOST=gz-cynosdbmysql-grp-2j1cnopr.sql.tencentcdb.com +DB_PORT=27469 +DB_USER=root +DB_PASSWORD=Aa#223388 +DB_NAME=aidress \ No newline at end of file diff --git a/Dockerfile b/Dockerfile index 74b53c1..3217869 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,6 +1,7 @@ # 使用Python 3.10作为基础镜像 FROM python:3.10-slim + # 设置时区 RUN ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime # 清空所有默认源 @@ -36,6 +37,10 @@ COPY requirements.txt . COPY app app/ COPY *.py ./ COPY .env* ./ +COPY entrypoint.sh . + +# 确保entrypoint.sh可执行 +RUN chmod +x /app/entrypoint.sh # 安装Python依赖 RUN pip install -i https://mirrors.aliyun.com/pypi/simple/ -r requirements.txt \ @@ -44,5 +49,8 @@ RUN pip install -i https://mirrors.aliyun.com/pypi/simple/ -r requirements.txt \ # 暴露端口 EXPOSE 8000 +# 设置入口点 +ENTRYPOINT ["/app/entrypoint.sh"] + # 启动命令 CMD ["uvicorn", "app.main:app", "--host", "0.0.0.0", "--port", "8000"] \ No newline at end of file diff --git a/docker-compose.yml b/docker-compose.yml index 9819366..a52d327 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -7,6 +7,9 @@ services: restart: always ports: - "9001:9001" + env_file: + - ./.env + # 环境变量可以覆盖.env文件中的值 environment: - DB_HOST=db - DB_PORT=3306 diff --git a/entrypoint.sh b/entrypoint.sh new file mode 100755 index 0000000..0d8ba04 --- /dev/null +++ b/entrypoint.sh @@ -0,0 +1,20 @@ +#!/bin/bash +set -e + +# 检查.env文件是否存在 +if [ -f .env ]; then + echo "找到.env文件,加载环境变量..." + # 从.env文件导出所有环境变量 + export $(grep -v '^#' .env | xargs) +else + echo ".env文件不存在,使用默认环境变量..." +fi + +# 打印重要环境变量,确认已加载(不打印敏感信息) +echo "环境变量检查:" +echo "DB_HOST: $DB_HOST" +echo "DB_NAME: $DB_NAME" +echo "ENVIRONMENT: $ENVIRONMENT" + +# 执行原始的命令 +exec "$@" \ No newline at end of file