美文网首页
docker 部署本地Django项目

docker 部署本地Django项目

作者: 托贝多尔 | 来源:发表于2020-05-10 21:17 被阅读0次

1、docker 挂载容器数据库到本地

下载安装mysql镜像:

docker pull mysql:5.7

挂载容器数据库到本地,并启动数据库容器:

docker run --rm  --name quote-mysql -p 33061:3306 -v C:\Users\Administrator\Desktop\db:/var/lib/mysql/ -e MYSQL_ROOT_PASSWORD=12345 -d mysql:5.7

--rm 容器停机自动删除数据库
-p 映射本地端口号:docker 数据库端口号
-v 挂载本地文件夹:数据库容器文件夹
-e 指定环境变量
-d 指定数据库和标签
创建数据库:

mysql -uroot -P33061 -p12345
show database;
create database quote charset=utf8;

下载安装redis镜像:

docker pull redis:latest

启动redis:

docker run -itd --name quote_redis -p 6378:6379 redis 

2、本地django项目在容器启动

下载安装python镜像版本:

docker pull python:3.6.5

挂载本地项目到容器,并启动项目容器:
-i交互模式运行容器
-t分配临时终端给容器
-d 后台运行容器
--name 指定容器名
-v 挂载本地文件夹:数据库容器文件夹
/bash 启动并保存进程

3、本地Django项目数据库缓存配置

mysql数据库

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',
        'HOST': '192.168.0.102',
        'PORT': 33061,
        'USER': 'root',
        'PASSWORD': '12345',
        'NAME': 'quote'
    }
}

redis缓存

    "default": {
        "BACKEND": "django_redis.cache.RedisCache",
        "LOCATION": "redis://192.168.0.102:6378/0",
        "OPTIONS": {
            "CLIENT_CLASS": "django_redis.client.DefaultClient",
        }
    }
}

celery应用

import os

from celery import Celery, platforms

from quote_web import settings

os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'quote_web.settings')

app = Celery('quote_web', backend='redis://192.168.0.102:6378/8', broker='redis://192.168.0.102:6378/8')

# You can pass the object directly here, but using a string is better since then the worker doesn’t have to serialize the object.
app.config_from_object('django.conf:settings')
# 如果在工程的应用中创建了tasks.py模块,那么Celery应用就会自动去检索创建的任务。比如你添加了一个任#务,在django中会实时地检索出来。
app.autodiscover_tasks(lambda: settings.INSTALLED_APPS)
# app.autodiscover_tasks()
platforms.C_FORCE_ROOT = True

CELERYD_MAX_TASKS_PER_CHILD = 10


@app.task(bind=True)
def debug_task(self):
    print('Request: {0!r}'.format(self.request))

4、安装项目依赖并启动项目

pip install --upgrade pip
pip install -f requirement.txt
python manage.py migrate
python manage.py runserver 0.0.0.0:8000

相关文章

网友评论

      本文标题:docker 部署本地Django项目

      本文链接:https://www.haomeiwen.com/subject/wodsnhtx.html