栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

docker鍙戝竷(docker鎼缓)

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

docker鍙戝竷(docker鎼缓)

容器文件结构


作业顺序 生成images

把uwsgi.ini放进去images文件包里

[uwsgi]
project=training_system
#uid=www-data
#gid=www-data
base=/code/package
 
chdir=%(base)/%(project)
module=%(project).wsgi:application
master=True
processes=2
 
http=0.0.0.0:8000 #这里直接使用uwsgi做web服务器,使用http。如果使用nginx,需要使用socket沟通。
buffer-size=65536
 
pidfile=/tmp/%(project)-master.pid
vacuum=True
max-requests=5000
daemonize=/tmp/%(project)-uwsgi.log
 
#设置一个请求的超时时间(秒),如果一个请求超过了这个时间,则请求被丢弃
harakiri=60
#当一个请求被harakiri杀掉会,会输出一条日志
harakiri-verbose=true

记得修改settings.py设定

# Static files (CSS, Javascript, Images)
# https://docs.djangoproject.com/en/3.2/howto/static-files/

STATIC_URL = '/static/'
STATICFILES_DIRS = (
    os.path.join(base_DIR, "static"),
)
STATIC_ROOT = os.path.join(base_DIR, "/static/")

start.sh 编写(其实也可以叫runserver-docker.sh之类的)

 #!/bin/bash
 # 从第一行到最后一行分别表示:
 # 0. 收集静态文件
 # 1. 生成数据库迁移文件
 # 2. 根据数据库迁移文件来修改数据库
 # 3. 用 uwsgi启动 django 服务, 不再使用python manage.py runserver
python manage.py collectstatic --noinput&&
python manage.py makemigrations&&
python manage.py migrate&&
#uwsgi --ini /code/package/uwsgi.ini
uwsgi --ini uwsgi.ini
 # python manage.py runserver 0.0.0.0:8000

(uwsgi --ini uwsgi.ini有可能会报错,下面再解决这个问题)

修改dockfile不要直接启动应用,等容器启动后我们再手动启动应用

FROM python:3.8-slim
COPY ./Django /code
WORKDIR /code/package
RUN pip install -r requirements.txt
RUN chmod 777 /code/package/runserver-docker.sh
EXPOSE 8000
#CMD ["/bin/sh","/code/package/runserver-docker.sh"]

生成images

docker build -t training_dashboard_v2b_uwsgi .
进入容器安装uwsgi包

可参考我的文章【docker】如何在docker中安装uwsgi包

主要指令如下:

docker exec -it < container > /bin/bash

apt-get update

apt-get install gcc

pip install uwsgi
(可选)进入容器,手动实现uwsgi初始化

start.sh 中uwsgi --ini uwsgi.ini有可能会报错,故可进入容器,手动实现uwsgi初始化。

uwsgi --ini uwsgi.ini

uwsgi初始化成功显示[uWSGI] getting INI configuration from uwsgi.ini

参考链接

原创Docker部署Django由浅入深系列(上):单容器部署Django + Uwsgi

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/772826.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号