python - Django Dockerized 与 Celery 和 Postgres
问题描述
我正在努力为我的 Django 项目创建一个 docker 映像。我使用 Celery 和 Redis 作为代理和 Postgres。创建容器时出现此错误:
django.db.utils.OperationalError: could not translate host name "db" to address: No address associated with hostname
Dockerfile
FROM python:3.6
ENV PYTHONUNBUFFERED 1
ENV DJANGO_ENV dev
ENV DOCKER_CONTAINER 1
COPY ./requirements.txt /code/requirements.txt
RUN pip install -r /code/requirements.txt
COPY /src/ /code/
WORKDIR /code/
EXPOSE 8000
码头工人-compose.yml
version: "3"
services:
db:
image: postgres
expose:
- "5432"
redis:
image: "redis:alpine"
web:
build: .
command: bash -c "python /code/manage.py migrate --noinput && python /code/manage.py runserver 0.0.0.0:8000"
ports:
- "8000:8000"
depends_on:
- db
- redis
celery:
build: .
command: celery -A core worker -l info
depends_on:
- db
- redis
celery-beat:
build: .
command: celery -A core beat -l info
depends_on:
- db
- redis
设置.py
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.postgresql',
'NAME': 'postgres',
'USER': 'postgres',
'HOST': 'db',
'PORT': 5432,
}
}
任何想法我做错了什么?我很确定它与 settings.py 中的数据库配置有关,因为在我更改它之前它工作正常,并且我能够运行我的应用程序并测试 celery。
解决方案
推荐阅读
- xpath - 为什么 Xpath 3.0 可以工作,但 Xquery 3.0 不能使用相同的表达式
- ruby-on-rails - RSpec + 表单对象 + 简单表单给出未定义的方法
- react-native - React-native-maps 安装失败
- sql - SQL Server 行计数在同一个表中多次返回内部联接
- javascript - 从复选框获取值时出现 Javascript 错误
- python - 向 mongoengine 中的 EmbededDocument 和 Document 类添加相同的字段和方法
- javascript - 为什么以下打字稿类型联合代码无效?
- css - 行跨度的表格边框顶部
- shell - 使用 Unix shell 脚本比较两个具有不同顺序的大文件
- python - 输入通道与过滤器的输入通道不匹配(Tensorflow)