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


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

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

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

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

    在这里插入图片描述

    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
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    1. uwsgi.ini文件
    [uwsgi]
    module = myproject.wsgi:application
    http = :8000
    chdir = /usr/src/app
    master = true
    processes = 4
    threads = 2
    vacuum = true
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    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
    • 2
    • 3

    在这里插入图片描述

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

    在这里插入图片描述

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

    在这里插入图片描述

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

    在这里插入图片描述

  • 相关阅读:
    WPF自定义Panel:让拖拽变得更简单
    Android 13.0 USB鼠标右键改成返回键的功能实现
    DataFrame一行拆成多行
    免费的内网穿透(钉钉)
    代码随想录 第6章 字符串
    java关键字this使用详解
    基于ssm的学生竞赛模拟系统设计与实现-计算机毕业设计源码+LW文档
    Java面试题(六)--Redis
    窝的个人简介
    我的2023年:程序员的自我迭代、技术复盘与生活点滴
  • 原文地址:https://blog.csdn.net/HelloFif/article/details/136752127