# 使用的环境
FROM ubuntu:20.04

# 升级 apt-get 和 下载 python3.9
# DEBIAN_FRONTEND="noninteractive" 禁用交互
RUN apt-get update && DEBIAN_FRONTEND="nointeractive" apt-get install -y \
    python3.9 \
    python3.9-venv \
    python3.9-dev \
    python3-pip

# 工作目录为 /app
# 意味着进入容器后的目录为 /app
WORKDIR /app

# 将当前目录下的所有内容拷贝到 /app 目录下
COPY . .

# 使用 python3.9 创建虚拟环境
RUN python3.9 -m venv ./venv
# 将虚拟环境添加到 PATH 中
ENV PATH="/app/venv/bin:$PATH"
# 使用虚拟环境中的 pip3.9 安装 poetry
RUN pip3.9 install poetry -i https://pypi.tuna.tsinghua.edu.cn/simple
# 使用 poetry 下载项目所需要的依赖
# poetry config virtualenvs.create false 为禁用创建虚拟环境
# 即直接将内容下到刚刚创建的虚拟环境中
RUN poetry config virtualenvs.create false && poetry install

# 向外部暴露 8000 端口
EXPOSE 8000

# 启动容器后运行的命令
ENTRYPOINT ["python", "manage.py", "runserver", "0.0.0.0:8000" ]


