首页 > 其他分享 >从0开始启动一个Django的docker服务

从0开始启动一个Django的docker服务

时间:2024-03-15 23:30:06浏览次数:30  
标签:启动 Django myproject 镜像 docker django 8000 uwsgi

```本文是从0开始启动一个Django的docker服务,包括构建镜像,uwsgi启动服务``

  1. 在服务器上安装ssh,git,生成公钥并复制到服务器上
# 安装ssh
yum install openssh-clients
# 生成sshkey
ssh-keygen
# 查看公钥
cat /root/.ssh/id_rsa.pub

在这里插入图片描述
在这里插入图片描述

  1. clone一下代码,其实就是一个django的基础代码,可以自行使用django-admin startproject 创建一个代码,下图为我的文件目录结构以及项目路径
git clone [email protected]:d-**-**/django_test.git

在这里插入图片描述

  1. Dockerfile文件,该文件放在项目目录下
# 使用官方Python运行环境作为父镜像
FROM python:3.12

# 设置工作目录在容器内
WORKDIR /usr/src/app

# 将当前目录内容复制到位于容器内的工作目录中
COPY . .

# 安装项目依赖
RUN mkdir -p /root/.pip && \
    echo "[global]\nindex-url = https://pypi.tuna.tsinghua.edu.cn/simple" > /root/.pip/pip.conf
# 安装依赖
RUN pip3 install --no-cache-dir -r requirements.txt
RUN pip3 install uwsgi

# 暴露端口8000供外界访问
EXPOSE 8000

# 定义环境变量
ENV DJANGO_SETTINGS_MODULE=myproject.settings

# 使用uwsgi运行Django项目
CMD ["uwsgi", "--ini", "uwsgi.ini"]
  1. uwsgi.ini文件
[uwsgi]
module = myproject.wsgi:application
http = :8000
chdir = /usr/src/app
master = true
processes = 4
threads = 2
vacuum = true
  1. 进入项目目录,本文的项目目录为:/home/code/django_test
  2. 构建镜像,一定要在Dockerfile文件所在目录执行命令(如果没有安装docker可以查看文章: centos7安装docker)当看到Successfully tagged myproject:latest就代表成功了(本文是因为重复build,中间安装的时候使用了缓存)
# myproject是我自己的项目名称,可以随意修改
# --progress=plain 是查看build镜像的进度
docker build -t myproject . --progress=plain

在这里插入图片描述

  1. 查看镜像是否存在
docker images

在这里插入图片描述

  1. 启动django的docker镜像,当看到以下图片时,就代表成功了
docker run -p 8000:8000 myproject

在这里插入图片描述

  1. 如果需要后台启动,则在run 后加上-d
docker run -d -p 8000:8000 myproject
docker ps # 查看运行的镜像

在这里插入图片描述

标签:启动,Django,myproject,镜像,docker,django,8000,uwsgi
From: https://blog.csdn.net/HelloFif/article/details/136752127

相关文章

  • Docker Registry 私有仓库的部署
    第一步:拉取镜像dockerpullregistry第二步:运行容器:dockerrun-di--name=registry-p5000:5000registry第三步:打开浏览器访问#输入地址:http://10.0.0.100:5000/v2/_catalog#看到{"repositories":[]}#表示私有仓库搭建成功并且内容为空第四步:修改daemon.jso......
  • 一种奇怪的方式(.gitignore模版问题)导致部署在CentOS服务器上采用Nginx和uWSGI的Django
    如图所示,在本地测试时好好的页面部署在CentOS服务器上用了Nginx和uWSGI就显示不了CSS样式。并且控制台上显示这一部分样式404Notfund于是我就开始各种查找技术贴学习,有说权限没开要修改nginx.conf配置中usernginx;为userroot;的,有说location结尾要加/的,有说DEBUG=True的,有说要......
  • docker_04days
    docker-compose介绍#使用了docker面临一个比较大的问题,如果一个djagno项目,使用mysql,redis,不要一次性把所有服务都放到一个容器中,每个服务一个容器,批量的管理多个容器,比较难以操作,于是有了docker-compose#批量管理,操作docker容器的软件---》只在单机#DockerCompose是一......
  • docker命令查询笔记
    目录loginsearchpushpullimagesrmitaghistorysaveloadrunstartrestartstopkillrmpauseunpausecreateexecpsinspectstatstoprenameattachupdatelogswaitportexportimportloginlogin:登录到远程仓库登录到远程仓库后可可以拉取仓库的镜像了dockerlogin[OPTIONS][S......
  • 【Django开发】前后端分离美多商城项目第2篇:项目准备【附代码文档】
    美多商城项目4.0文档完整教程(附代码资料)主要内容讲述:美多商城,项目准备,商业模式介绍,开发流程,需求分析,项目架构,创建工程,1.在git平台创建工程1.B2B--企业对企业,2.C2C--个人对个人,3.B2C--企业对个人,4.C2B--个人对企业,5.O2O--线上到线下,6.F2C--工厂到个人,7.B2B2C--企业--企业--......
  • Django和Fastapi异步性能对比
    突发奇想,我想验证一下Python的异步后端框架的并发能力.目前主流的异步框架有Fastapi,Django和Tornado.顺便我想对比一下它们的性能,但是考虑到Tornado自成一派没有遵循Asgi,没办法屏蔽服务器部分的代码效率,所以我打算只拿Fastapi和Django做下对比.实验设计运行设备:4核8进......
  • Docker Compose基本配置及使用笔记
    DockerCompose基本配置及使用笔记简介DockerCompose是一个用于定义和运行多个Docker容器应用程序的工具。它使用YAML文件来配置应用程序的服务,并通过简单的命令集管理这些服务的生命周期。1.步骤1代码如下:docker-compose.yml放在虚拟机root目录下version:"......
  • Python之Web开发中级教程----创建Django子应用
    Python之Web开发中级教程----创建Django子应用基于上一个教程的Django项目(可以先看上一集,链接如下:)https://mp.csdn.net/mp_blog/creation/editor/1367248972.创建子应用pythonmanager.pystartappbookadmin.py:跟网站的后台管理站点配置相关。apps.py:用于配置当前应用......
  • django实现将后台数据excel文件形式导出
    视图函数export_persons引入导出excle相关库importxlwtdefexport_persons(request):#获取数据库中的所有Project对象persons=m1.Project.objects.all()#创建Excel文件book=xlwt.Workbook(encoding='utf-8',style_compression=0)sheet=book.add_sheet('Sheet',......
  • RuoYi 前端Docker部署
    Dockerfile#基础镜像不指定版本则默认最新FROMnginx#挂载目录VOLUME/home/nginx/www/ruoyi#创建目录RUNmkdir-p/home/nginx/www/ruoyi#指定路径该路径我是自己提前创建好的WORKDIR/home/nginx/www/ruoyi#复制conf文件到路径./conf/nginx.conf和上面的mys......