django uwsgi logto 函数在 docker 中不起作用

django uwsgi logto function not work in docker

docker使用 uwsgi 构建一个 django 应用程序

uwsgi.ini

[uwsgi]
chdir = /app
http = :12345
socket=127.0.0.1:8002
wsgi-file=leak/wsgi.py
static-map = /static=static
processes=4
threads=2
master=True
log-master = true
threaded-logger = true
logto=/var/log/leak.log
log-maxsize = 100000
threaded-logger = true
pidfile=uwsgi.pid
env = DJANGO_SETTINGS_MODULE=leak.settings.development

Dockerfile

FROM python:3.6.8-alpine
COPY requirements /app/requirements
WORKDIR /app
RUN apk update 
        && apk add make \
        && apk add --virtual mysqlclient-build gcc python3-dev musl-dev \
        && apk add --no-cache mariadb-dev \
        && apk add --virtual system-build linux-headers libffi-dev \
        && apk add --no-cache jpeg-dev zlib-dev freetype-dev lcms2-dev openjpeg-dev tiff-dev tk-dev tcl-dev \
        && apk add --no-cache bash bash-doc bash-completion libxml2-dev libxslt-dev \
        && pip install --upgrade pip setuptools wheel \
        && pip install -r requirements
COPY . /app 
CMD ["sh","run.sh"]

run.sh

#!/usr/bin/env sh
uwsgi --ini uwsgi.ini

在 docker 构建 && docker 运行 日志路径“/var/log/leak.log”之后未创建且没有任何错误。 但它在没有 docker 的情况下工作。 我该如何修复它

几点建议:

  • 不要运行 uwsgi 作为 root
  • threaded-logger = true定义了2次
  • /app/log 下登录,并将其安装为卷,并为用户提供适当的权限
  • 高山图片可以运行#!/bin/sh

问候,matzy