【发布时间】:2020-01-03 22:23:05
【问题描述】:
我的 django 应用程序有一个本地和生产 docker-compose 服务,在本地服务中一切正常,但在生产服务中 daphne 不起作用,同样,redis 连接是相等的,我没有使用我的 docker compose 服务的特殊网络配置。
本地撰写:
version: "3"
services:
app:
image: app
build:
context: .
dockerfile: ./compose/local/Dockerfile
environment:
- DJANGO_SETTINGS_MODULE=psvt.settings.local
volumes:
- ".:/django/"
ports:
- "8000:8000"
depends_on:
- redis
- db
links:
- redis:redis
- db:postgres
redis:
image: redis
restart: always
expose:
- '6379'
daphne:
restart: always
image: "app:latest"
working_dir: /django/
command: bash -c "daphne -b 0.0.0.0 -p 8001 psvt.asgi:channel_layer"
ports:
- "8001:8001"
environment:
- REDIS_HOST=redis
- DJANGO_SETTINGS_MODULE=psvt.settings.local
depends_on:
- redis
links:
- redis
db:
image: postgres:10.1-alpine
volumes:
- postgres_data:/var/lib/postgresql/data/
expose:
- "5432"
volumes:
postgres_data:
生产:(这里达芙妮不工作)
version: "3"
services:
app:
image: app_production
build:
context: .
dockerfile: ./compose/production/Dockerfile
#command: bash -c "gunicorn psvt.wsgi:application --bind 0.0.0.0:8000"
command: bash -c "./manage.py runserver"
working_dir: /django/
environment:
- DJANGO_SETTINGS_MODULE=psvt.settings.production
volumes:
- ".:/django/"
- static_files:/static/
- media_files:/media/
ports:
- "8000:8000"
depends_on:
- redis
- db
links:
- redis:redis
- db:postgres
daphne:
restart: always
image: "app_production:latest"
working_dir: /django/
command: bash -c "daphne -b 0.0.0.0 -p 8001 psvt.asgi:channel_layer"
ports:
- "8001:8001"
environment:
- REDIS_HOST=redis
- DJANGO_SETTINGS_MODULE=psvt.settings.production
depends_on:
- redis
links:
- redis
redis:
image: redis
restart: always
expose:
- '6379'
db:
image: postgres:10.1-alpine
volumes:
- postgres_data:/var/lib/postgresql/data/
expose:
- "5432"
nginx:
build:
context: ./compose/nginx/
dockerfile: ./Dockerfile
ports:
- 100:80
- 5000:80
links:
- app:app
volumes:
- static_files:/static/
- media_files:/media/
depends_on:
- app
volumes:
postgres_data:
static_files:
media_files:
错误是:
Error trying to receive messages: Error -2 connecting to redis:6379. Name or service not known.
【问题讨论】:
-
你找到解决办法了吗?
标签: python django docker devops daphne