相关疑难解决方法(0)

使用nginx,django,daphne部署到docker

我想将我的服务部署到docker.

我的服务是使用python + django和django-channels开发的

?? myproject ??? myproject ? ??? settings.py ? ??? urls.py ? ??? asgi.py ? ??? ... ??? collected_static ? ??? js ? ??? css ? ??? ... ??? nginx ? ??? Dockerfile ? ??? service.conf ??? requirements.txt ??? manage.py ??? Dockerfile ??? docker-compose.yml

myproject/Dockerfile:

FROM python
ENV PYTHONUNBURRERED 1

RUN mkdir -p /opt/myproject
WORKDIR /opt/myproject
ADD . /opt/myproject

RUN pip install -r requirements.txt
RUN python manage.py migrate
Run Code Online (Sandbox Code Playgroud)

MyProject的/泊坞窗,compose.yml:

version: '2'
services:
  nginx:
    build: ./nginx
    networks:
      - …
Run Code Online (Sandbox Code Playgroud)

django nginx channels docker daphne

4
推荐指数
1
解决办法
3585
查看次数

在码头工人容器中运行django worker和daphne

我有在docker容器中运行的django应用程序.最近我发现我需要在我的应用程序中添加websockets接口.我在nginx和redis后面使用带有daphne的通道作为缓存.问题是我必须在1个容器中运行django worker和daphne.在容器启动时运行的脚本:

#!/usr/bin/env bash

python wait_for_postgres.py
python manage.py makemigrations
python manage.py migrate
python manage.py collectstatic --no-input

python manage.py runworker --only-channels=http.* --only-channels=websocket.* -v2
daphne team_up.asgi:channel_layer --port 8000 -b 0.0.0.0
Run Code Online (Sandbox Code Playgroud)

但它依赖于经营一名工人.我试过nohup,但它似乎不起作用.如果我直接从带有docker exec的容器运行daphne一切正常.

django channels docker

1
推荐指数
1
解决办法
1908
查看次数

标签 统计

channels ×2

django ×2

docker ×2

daphne ×1

nginx ×1