将Python Django部署到Docker中

1.首先安装docker以及docker-compose的环境

curl -fsSL https://get.docker.com | bash
curl -L "https://github.com/docker/compose/releases/download/1.26.1/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
chmod a+x /usr/local/bin/docker-compose

2.在项目目录使用pip导出依赖文件

pip freeze > requirements.txt

3.编写Dockerfile文件

# 使用官方 Python 3.8 镜像作为基础镜像
FROM python:3.8.0
# 设置维护者信息
LABEL maintainer="matt@wrlog.com"
# 设置pip配置文件,使用清华大学的镜像源
RUN mkdir -p /root/.config/pip && \
    echo "[global]" > /root/.config/pip/pip.conf && \
    echo "index-url = https://pypi.tuna.tsinghua.edu.cn/simple" >> /root/.config/pip/pip.conf
#安装自定义python环境
RUN python -m pip install pip==22.1
RUN pip install setuptools==61.2.0
RUN apt install gcc
# 设置工作目录
WORKDIR /app
# 复制环境文件和项目文件到工作目录
COPY requirements.txt /app/
#COPY . /app/
# 安装 Python 依赖
RUN pip install -r requirements.txt
# 启动uWSGI服务器
CMD ["/bin/bash", "/www/project/xxx/start.sh"]

4.创建Docker镜像

docker build -t dockerapp .

5.建立docker-compose.yml启动文件

version: '3.8'
services:
  web:
    image: dockerapp
    ports:
      - "8081:8081"
    volumes:
      - /www/project/xxxx:/www/project/xxxx  # 将宿主机当前目下的xxxx目录挂载到容器的xxxx目录
#    environment:
#      - DEBUG=false
      # 其他环境变量...
    restart: always
# 其他配置...

6.如果使用本地mysql,修改settings.py中数据库连接IP为本机网卡IP或本机docker IP
使用uwsgi需要取消后台模式,注释掉”daemonize”

7.使用docker-compose up -d 启动docker应用,docker-compose down 关闭docker应用

版权声明:本文采用知识共享 署名4.0国际许可协议 [BY-NC-SA] 进行授权
文章名称:《将Python Django部署到Docker中》
文章链接:https://wrlog.cn/2023/11/1579/
本站资源仅供个人学习交流,请于下载后24小时内删除,不允许用于商业用途,否则法律问题自行承担。