Tag: django

在Docker中提供的Django应用程序中注册SIGINT / SIGQUIT信号

我有一个Django应用程序,它有一个需要完成的队列系统(构build来自各种开发人员的一些版本)。 然而,在一天结束的时候,我需要closures它,但是运行的版本不应该被终止。 为了实现这一点,我想我可以捕获终止信号(如SIGINT / SIGQUIT / SIGTERM),以便应用程序可以等待释放完成,然后closures系统。 我有以下信号注册系统: import time, sys, signal def signal_handler(signum, frame): print('Waiting for the releases to complete') time.sleep(5) print('TERMINATING GRACEFULLY…') sys.exit(0) for sig in [signal.SIGTERM, signal.SIGINT, signal.SIGQUIT]: signal.signal(sig, signal_handler) 当我使用这段代码从命令行运行django的开发服务器时,它会注册信号并触发处理函数。 问题是我的应用程序在nginx和uWSGI的Docker上运行。 当我运行容器时,它注册了信号,但是当我停止docker容器时,SIGINT / SIGQUIT信号被uWSGI捕获,而不是由python捕获,我的信号处理程序没有被触发。 我相对较新的Docker和uWSGI,我无法找出一种方式发送这个信号直接到Python。 我应该怎么做python来捕捉信号,而不是uWSGI? 任何帮助,将不胜感激。 编辑:这是我的入口点脚本。 entrypoint.sh #!/bin/sh # Start uWSGI using the configuration file exec uwsgi –ini ./docker/django/uwsgi.ini […]

Django Cookiecutter如何更改生产媒体存储到本地

我有一个docker生产Django Cookiecutter的问题,我的问题是,默认configuration使用亚马逊S3pipe理静态文件和媒体文件,但我想要的是在我的docker上本地存储这些文件….我不知道该怎么做! 先谢谢你

为什么在安装官方的Django docker镜像之后我不能`docker exec`?

我按照说明设置了正式的Django docker镜像,在这里find。 首先,我通过跑步为我的项目创build了一个脚手架 $ docker run -it –rm –user "$(id -u):$(id -g)" -v "$PWD":/usr/src/app -w /usr/src/app django django-admin.py startproject mysite2 然后,我按照创buildDockerfile的指示操作,构build完图像之后,我运行了Docker镜像 docker run –name some-django-app -p 8000:8000 -d my-django-app 它的工作! 所以就像默认的网页build议,我决定创build我的第一个应用程序 docker exec <docker container ID> bash -c "python /folder/to/mysite2/manage.py startapp polls" 但后来我收到了错误信息 Traceback (most recent call last): File "/folder/to/mysite2/manage.py", line 8, in <module> from […]

如何使用密码保护弹性beanstalk docker nginx中部署的django web应用程序

我有一个Django Web应用程序托pipe在AWS Elastic Beanstalk与Docker和Nginx中。 我正在使用主pipe来启动nginx和uwsgi。 需要使用密码保护网站。 我试过使用.htaccess。 htpasswd -cb /etc/nginx/.htpasswd admin admin 并添加了nginxconfiguration location / { auth_basic "Restricted"; auth_basic_user_file /etc/nginx/.htpasswd; uwsgi_pass unix:/var/sockets/api.sock; include /home/docker/uwsgi_params; } 它的工作,但它反复询问密码。 通常htaccess只会在会话中要求密码一次。 但是每次我们点击一​​个字段或button,都会要求input用户名和密码。 有什么办法可以解决吗?

NGINX为Django App提供静态文件

我有一个Django应用程序,我试图部署。 在这个阶段,我似乎无法从我的nginx容器提供我的静态文件。 我的项目就像这里一样 我把我的图片放到{% static "minimal/theme/assets/img/pic.jpg"%}目录下。 我的networking应用程序的文件结构是: . ├── Dockerfile ├── docker_django │ ├── __init__.py │ ├── apps │ │ ├── __init__.py │ │ └── todo │ │ ├── __init__.py │ │ ├── admin.py │ │ ├── fixtures │ │ │ ├── foodprice.json │ │ │ ├── location.json │ │ │ └── menuitem.json │ │ […]

我的文件/ Docker Django Digital Ocean在哪里?

(初学者问题) 我已经在Digital Ocean上的一个水滴中部署了一个Docker容器,接着这个tuto 一切都在运行。 但是,我的文件存储在我的液滴? 我的Dockerfile提到一个/应用程序,但没有任何当我ssh我的液滴。 FROM python:3.5 ENV PYTHONUNBUFFERED 1 # Requirements have to be pulled and installed here, otherwise caching won't work COPY ./requirements /requirements RUN pip install -r /requirements/production.txt \ && groupadd -r django \ && useradd -r -g django django COPY . /app RUN chown -R django /app COPY ./compose/django/gunicorn.sh /gunicorn.sh […]

数字海洋泊坞窗图像的主pipe

(初学者问题) 我已经成功地在数字海洋液滴上设置了一个nginx + gunicorn + djangodocker图像。 我的Django项目遵循非常好的Cookie-Cutter-Django模式( 请参阅此处 )。 在这个文档中 ,有一个主pipe安装的描述。 我在这里失踪的是主pipe应该在哪里跑步? 本地或远程? 我明白,如果我在我的笔记本电脑上安装主pipe,它将“保持活力”我的命令“docker-compose up”。 但是如果我需要一个星期的时间,笔记本电脑电量耗尽呢? 主pipe会停止工作吗? 如果是这样,我需要把它安装在我的液滴上,对吧?

Docker在django web应用+ postgres数据库上编写运行迁移

您好,我有问题在Django的postgres数据库容器上运行迁移。 这是我的docker-compose文件 web: restart: always build: ./web expose: – "8000" links: – postgres:postgres volumes: – /usr/src/app – /usr/src/app/static env_file: – ./.env environment: – DEBUG=1 command: /usr/local/bin/gunicorn mysite.wsgi:application -w 2 -b :8000 nginx: restart: always build: ./nginx/ ports: – "80:80" volumes: – /www/static volumes_from: – web links: – web:web postgres: restart: always build: ./postgres env_file: .env […]

Kubernetes + MySQL:在Kubernetes容器中创build自定义数据库和用户

我正尝试使用Google Container Engine和Kubernetes创build一个Django + MySQL应用程序。 继官方MySQL泊坞窗图像和Kubernetes文档创buildMySQL容器的文档后,我创build了以下复制控制器 apiVersion: v1 kind: ReplicationController metadata: labels: name: mysql name: mysql spec: replicas: 1 template: metadata: labels: name: mysql spec: containers: – image: mysql:5.6.33 name: mysql env: #Root password is compulsory – name: "MYSQL_ROOT_PASSWORD" value: "root_password" – name: "MYSQL_DATABASE" value: "custom_db" – name: "MYSQL_USER" value: "custom_user" – name: "MYSQL_PASSWORD" value: […]

您正在通过HTTPS访问开发服务器,但仅在使用Docker时支持HTTP

我对docker是相当新的,我想为Django + Nginx + MySQL的容器。 当我docker-compose.yml运行docker-compose.yml , docker-compose up一切正常,但是当我访问我得到的网站时你通过HTTPS访问开发服务器,但它只支持HTTP 。 docker-compose文件中的nginx部分如下所示: nginx: image: nginx ports: – "80:80" – "443:443" volumes: – .:/code links: – web 我究竟做错了什么?