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

需求
1:已有django项目–weidanyewu
2:希望在服务器上测试部署–客户催
3:没完善django的启动
4:使用临时数据库进行演示
5:使用python3.10版本镜像
6:展示端口80
7:后台执行django程序
8:不配置uwsgi
9:能用就行
10:不想自己给服务器配置python环境,运维已经逃

在这里插入图片描述

Dockerfile文件【docker/Dockerfile】

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】

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文件

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

docker compose up -d

进入到容器中

docker compose exec my_django_8003 bash
docker compose exec [服务名] bash

启动django程序

cd /weidanyewu
python manage.py runserver 0.0.0.0:80

希望django程序在后台执行

1:进入容器
docker compose exec my_django_8003 bash
2:后台执行django程序
nohup python manage.py runserver 0.0.0.0:80 &
3:推出容器
exit

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/715399.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【C语言】熟悉文件顺序读写函数

前言 本篇详细介绍了 文件顺序读写常用函数,快来看看吧~ 欢迎关注个人主页:逸狼 创造不易,可以点点赞吗~ 如有错误,欢迎指出~ 目录 前言 ​编辑 文件顺序读写函数 fgetc函数 示例 fputc函数 逐个字符写入 写入26个字母 文…

手写模拟器,解放双手!效果炸裂的生产工具

手写模拟器是一款基于Handright的仿手写图片生成软件,可以让你的电脑和手机也能写出漂亮的手写字,你只需要输入你想要写的内容,选择你喜欢的字体和背景,就可以生成一张高仿真的手写图片,用于各种场合,比如做…

uniapp中canvas的基础使用

canvas简介 canvas是uniapp中提供的一个组件,用于生成自定义的图形界面。通过canvas,我们可以通过JavaScript代码在页面上绘制各种图形和图像。 使用canvas 在页面中添加canvas 首先需要在页面的template中添加一个canvas组件: <template><view><canvas ca…

linux:iostat 用法详解

文章目录 描述语法参数例子 描述 iostat 是一个在类Unix操作系统中常用的系统监控工具&#xff0c;尤其是Linux系统中&#xff0c;它主要用于收集和报告中央处理器(CPU)使用情况以及磁盘输入/输出(I/O)统计数据。以下是 iostat 命令的基本用法及其参数详解&#xff1a; 语法 …

代码随想录三刷 day11 | 栈与队列之 20. 有效的括号 1047. 删除字符串中的所有相邻重复项 150. 逆波兰表达式求值

三刷day11 20. 有效的括号1047. 删除字符串中的所有相邻重复项150. 逆波兰表达式求值 20. 有效的括号 题目链接 解题思路&#xff1a; 有三种不匹配的情况&#xff1a; 第一种情况&#xff0c;字符串里左方向的括号多余了 。 第二种情况&#xff0c;括号没有多余&#xff0c;…

[伴学笔记]01-操作系统概述 [南京大学2024操作系统]

文章目录 前言jyy:01-操作系统概述 [南京大学2024操作系统]为什么要学操作系统?学习操作系统能得到什么? 什么是操作系统?想要明白什么是操作系统:时间线:1940s1950s-1960s1960-1970s年代. 信息来源: 前言 督促自己,同时分享所得,阅读完本篇大约需要10分钟,希望为朋友的技术…

编码规则转换

思考&#xff1a; 如何将一个机内码转换为区内码&#xff1f; 只要将机内码减去 A0A0 就可以啦 如果只让我们用加法器来解决呢&#xff1f; 注意我们的数据占用了 32 位&#xff0c;如果想用补码进行减法运算的话&#xff0c;符号位怎么办&#xff1f;&#xff1f;&#xf…

《探索数据结构之美:如何高效实现哈希表》

摘要&#xff1a;哈希表是一种基于键值对的数据结构&#xff0c;它通过哈希函数将键映射到表中一个位置&#xff0c;以实现快速的插入、删除和查找操作。在本期播客中&#xff0c;我们将深入剖析哈希表的数据结构&#xff0c;分享如何用Python语言实现一个哈希表项目。此外&…

【深度学习笔记】计算机视觉——微调

微调 前面的一些章节介绍了如何在只有6万张图像的Fashion-MNIST训练数据集上训练模型。 我们还描述了学术界当下使用最广泛的大规模图像数据集ImageNet&#xff0c;它有超过1000万的图像和1000类的物体。 然而&#xff0c;我们平常接触到的数据集的规模通常在这两者之间。 假…

【计算机是怎么跑起来的】软件,体验一次手工汇编

【计算机是怎么跑起来的】软件,体验一次手工汇编 二进制机器语言汇编语言操作码操作数寄存器内存地址和I/O地址参考书:计算机是怎么跑起来的 第三章外设在路上。。。先整理一下本书涉及的理论知识,反正后面做视频也要重写QAQ 程序的作用是驱动硬件工作,所以在编写程序之前必…

【C++庖丁解牛】类与对象

&#x1f4d9; 作者简介 &#xff1a;RO-BERRY &#x1f4d7; 学习方向&#xff1a;致力于C、C、数据结构、TCP/IP、数据库等等一系列知识 &#x1f4d2; 日后方向 : 偏向于CPP开发以及大数据方向&#xff0c;欢迎各位关注&#xff0c;谢谢各位的支持 目录 1.面向过程和面向对象…

对单例模式的饿汉式、懒汉式的思考

目录 1 什么是单例模式&#xff1f;1.1 什么是饿汉式&#xff1f;1.2 什么是懒汉式&#xff1f; 2 我对饿汉式的思考3 懒汉式3.1 解决懒汉式的线程安全问题3.1.1 加锁&#xff1a;synchronized&#xff08;synchronized修饰静态方法&#xff09;3.1.2 对“3.1.1”性能的改进 1 …

环形链表详解(让你彻底理解环形链表)

文章目录 一.什么是环形链表&#xff1f;二.环形链表的例题&#xff08;力扣&#xff09; 三.环形链表的延伸问题 补充 一.什么是环形链表&#xff1f; 环形链表是一种特殊类型的链表数据结构&#xff0c;其最后一个节点的"下一个"指针指向链表中的某个节点&#xff…

Python 教学平台,支持“多班教学”的课程授课方式|ModelWhale 版本更新

龙行龘龘、前程朤朤&#xff0c;ModelWhale 新一轮的版本更新&#xff0c;期待为大家带来更优质的使用体验。 本次更新中&#xff0c;ModelWhale 主要进行了以下功能迭代&#xff1a; 新增 课程&#xff08;包括课件、作业、算力&#xff09;按班级管理&#xff08;团队版✓ …

springcloud的搭建和封装,已进行开源,相互学习代码知识。

springcloud架构的统一父工程&#xff0c;&#xff08;管理子模块&#xff0c;管理依赖插件&#xff0c;依赖版本等&#xff09; abillty:能力服务块&#xff1a;存放一些非业务相关的微服务&#xff0c;比如网关&#xff0c;身份认证等 exce: 网关中的一些异常信息处理 gatewa…

基于Springboot的人事管理系统 (有报告)。Javaee项目,springboot项目。

演示视频&#xff1a; 基于Springboot的人事管理系统 &#xff08;有报告&#xff09;。Javaee项目&#xff0c;springboot项目。 项目介绍&#xff1a; 采用M&#xff08;model&#xff09;V&#xff08;view&#xff09;C&#xff08;controller&#xff09;三层体系结构&am…

【Git】merge时报错:refusing to merge unrelated histories

文章目录 一、问题二、解决办法1、将feature分支的东西追加到master分支中2、将feature里的东西直接覆盖到master分支中 一、问题 今天将feature分支合并到master时报错&#xff1a;refusing to merge unrelated histories&#xff08;拒绝合并无关历史&#xff09; 报错原因&…

一篇文章速通static关键字(JAVA)

目录 1.原理——内存机制 1.1 修饰对象 1.2 lifecycle生命周期 2. 静态属性&#xff08;类属性&#xff09;和实例属性&#xff08;对象属性&#xff09; 2.1 定义方式 2.2 调用方法 3. 静态方法和属性 3.1 在同一个类中 3.2 在不同类中 4.总结&#xff08;关键&#x…

SQLSyntaxEProrException异常产生原因及解决方案

java.sq1.SQLSyntaxEProrException异常产生原因及解决方案 01 异常的发生场景 在我mybatis-plus写了一个查询接口后出现的问题 java.sq1.SQLSyntaxEProrException日志报错的意思是sql语法问题 02 异常的产生及其原因 我最开始又认为是MySQL数据库表设计的问题&#xff0c…

ROS2从入门到精通:理论与实战

ROS是什么&#xff1f; 随着人工智能技术的飞速发展与进步&#xff0c;机器人的智能化已经成为现代机器人发展的终极目标。机器人发展的速度在不断提升&#xff0c;应用范围也在不断拓展&#xff0c;例如自动驾驶、移动机器人、操作机器人、信息机器人等。机器人系统是很多复杂…