Dockerfile 1.3 KB

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