使用docker方式测试部署django项目(客户催)

需求

1:已有django项目--weidanyewu

2:希望在服务器上测试部署--客户催

3:没完善django的启动

4:使用临时数据库进行演示

5:使用python3.10版本镜像

6:展示端口80

7:后台执行django程序

8:不配置uwsgi

9:能用就行

10:不想自己给服务器配置python环境,运维已经逃

Dockerfile文件【docker/Dockerfile】

python 复制代码
FROM python:3.10.12-buster  
#标记镜像名为python 标签为3.10.12-buster  
  
# 暴露端口  
EXPOSE 80  
EXPOSE 80  
# 设置容器中的相关设置  
ENV PYTHONDONTWRITEBYTECODE=1  
ENV PYTHONUNBUFFERED=1  
# 创建文件夹  
# 并且升级pip  
RUN mkdir /weidanyewu && mkdir /weidanyewubak && pip install --upgrade pip  
  
  
# 复制本Dockerfile路径中的requirements.txt文件到容器中的weidanyewu文件夹  
COPY requirements.txt /weidanyewu  
  
# 进入容器中的app文件夹  
# 获取到容器中的环境变量,并且存放到app文件夹中,命名为env_bak.txt文件  
# 安装requirements.txt中列出的插件  
# 在容器中创建一个django项目,并且命名为weidanyewu  
RUN cd /weidanyewu && env | tee -a env_bak.txt && pip install -r requirements.txt && django-admin startproject weidanyewu  
  
  
#进入到容器中的weidanyewu文件夹,并且复制这个文件夹中的内容到weidanyewubak文件夹  
  
RUN cd /weidanyewu && cp -r . /weidanyewubak

django框架使用到的插件

requirements.txt【docker/requirements.txt】

c 复制代码
django==4.2.8  
django-import-export==3.3.6  
cryptography==41.0.7  
pycparser==2.21  
pycryptodome==3.20.0  
rsa==4.9  
django-simple-captcha==0.6.0

docker-compose.yml文件

python 复制代码
version: "3.9"  
  
# 指定网络  
networks:  
    aliyuntest:  
        ipam:  
            driver: default  
            config:  
              - subnet: 172.168.0.0/16  
  
services:  
  # my_django4_2_5 用于服务 8003端口  域名 chenguwen  my_django_8003:  
    build: ./docker  
    #因为这个Dockerfile在docker/Dockerfile  
    # 指定docker镜像的名字  
    image: my_django_8003:b20231007  
    # 指定容器名称  
    container_name: my_django_8003  
    environment:  
      # django框架使用的密匙  
      # 指定django框架启动的本地开发入口文件   
ports:  
      - 80:80/tcp  
    restart: always  
    volumes:  
      # -使用wsl 子系统时,挂载的文件路径  
      - /home/pythontgz/weidanyewu:/weidanyewu  
    working_dir: /weidanyewu  
    privileged: true  
    command: ["sleep", "infinity"]   
    networks:  
      aliyuntest:  
        ipv4_address: 172.168.0.3

启动docker compose

c 复制代码
docker compose up -d

进入到容器中

c 复制代码
docker compose exec my_django_8003 bash
docker compose exec [服务名] bash

启动django程序

c 复制代码
cd /weidanyewu
python manage.py runserver 0.0.0.0:80

希望django程序在后台执行

c 复制代码
1:进入容器
docker compose exec my_django_8003 bash
2:后台执行django程序
nohup python manage.py runserver 0.0.0.0:80 &
3:推出容器
exit
相关推荐
梦梦代码精8 小时前
2026年PHP开源商城系统实测对比:架构、多商户、商用授权,谁才是真·省心?
vue.js·docker·架构·开源·代码规范
极客先躯12 小时前
高级java每日一道面试题-2026年02月02日-实战篇[Docker]-如何实现容器的持久化存储?
docker·容器·面试宝典·持久化·存储·韵味·java高级面试题
My is 李豆13 小时前
CentOS 7 安装 Docker 完整教程(含 docker-compose 插件)
docker·eureka·centos
极客先躯14 小时前
高级java每日一道面试题-2026年02月01日-实战篇[Docker]-Docker Volume 的生命周期管理是怎样的?
java·运维·docker·容器·持久化·架构图·容器卷
kong@react15 小时前
Rocky Linux 10.2 全面解析:企业级 CentOS 替代方案及保姆级docker安装
java·linux·运维·docker
某林21215 小时前
Isaac Sim 5.1.0 无头服务器部署与 RTX 显存段错误排障全记录
运维·服务器·docker·容器·isaac
m0_7381207216 小时前
Docker 环境下 Vulfocus 靶场搭建全流程(附镜像源问题解决方案)
运维·服务器·网络·安全·docker·容器
不考研当牛马16 小时前
Django 框架 深度学习
python·深度学习·django
simeple16 小时前
记一次 Docker Compose 项目迁移:从 Windows Docker Desktop 迁移到 CentOS 服务器
docker
哆啦A梦——17 小时前
Ubuntu 虚拟机 Docker 与 MySQL 8.0.42 部署指南
mysql·ubuntu·docker