# 使用官方 Python 3.12.5 映像 # FROM hub.atomgit.com/amd64/python:3.11.5-slim-bullseye ARG BASE_IMAGE FROM $BASE_IMAGE # 安装netcat # RUN apt-get update && apt install -y netcat # 设置 python 环境变量 ENV PYTHONDONTWRITEBYTECODE 1 ENV PYTHONUNBUFFERED 1 # 可选:设置镜像源为国内 # COPY pip.conf /root/.pip/pip.conf COPY sources.list /etc/apt/sources.list # 容器内创建 myproject 文件夹 ENV APP_HOME=/var/www/html/aiDogProject RUN mkdir -p $APP_HOME WORKDIR $APP_HOME # 将当前目录加入到工作目录中(. 表示当前目录) ADD . $APP_HOME # 升级pip 以确保有最新版本的安装依赖 # RUN pip install --no-cache-dir -r requirements.txt # 更新pip版本 RUN /usr/local/bin/python -m pip install --upgrade pip # 替换 Debian 软件源为国内源 # 更新包管理工具,安装必要的依赖 RUN apt-get update && apt-get install -y \ build-essential \ libasound-dev \ portaudio19-dev \ libportaudio2 \ libportaudiocpp0 \ ffmpeg \ && rm -rf /var/lib/apt/lists/* # 安装 pyaudio RUN pip install pyaudio # 安装依赖 RUN pip install -r requirements.txt # 移除\r in windows RUN sed -i 's/\r//' ./start.sh # 给start.sh可执行权限 RUN chmod +x ./start.sh # 数据迁移,并使用uwsgi启动服务 ENTRYPOINT /bin/bash ./start.sh