Ошибка докер-компоуз
Возникла такая проблема, пытаюсь запустить сайт через докер компоуз, выдаёт такую ошибку. Ошибка возникает при заходе на локалхост, попытке сделать миграции и создать суперпользователь. Пробовал очищать контейнеры, volumes, images - результата не дало. Ниже прикрепляю саму ошибку, докер компоуз и настройки базы данных.
Traceback (most recent call last):
web_1 | File "/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py", line 134, in handle
web_1 | self.handle_request(listener, req, client, addr)
web_1 | File "/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py", line 175, in handle_request
web_1 | respiter = self.wsgi(environ, resp.start_response)
web_1 | File "/usr/local/lib/python3.8/site-packages/django/core/handlers/wsgi.py", line 141, in __call__
web_1 | response = self.get_response(request)
web_1 | File "/usr/local/lib/python3.8/site-packages/django/core/handlers/base.py", line 75, in get_response
web_1 | response = self._middleware_chain(request)
web_1 | File "/usr/local/lib/python3.8/site-packages/django/core/handlers/exception.py", line 36, in inner
web_1 | response = response_for_exception(request, exc)
web_1 | File "/usr/local/lib/python3.8/site-packages/django/core/handlers/exception.py", line 90, in response_for_exception
web_1 | response = handle_uncaught_exception(request, get_resolver(get_urlconf()), sys.exc_info())
web_1 | File "/usr/local/lib/python3.8/site-packages/django/core/handlers/exception.py", line 129, in handle_uncaught_exception
web_1 | return callback(request, **param_dict)
web_1 | File "/code/foodgram/views.py", line 10, in server_error
web_1 | return render(request, 'misc/500.html', status=500)
web_1 | File "/usr/local/lib/python3.8/site-packages/django/shortcuts.py", line 36, in render
web_1 | content = loader.render_to_string(template_name, context, request, using=using)
web_1 | File "/usr/local/lib/python3.8/site-packages/django/template/loader.py", line 62, in render_to_string
web_1 | return template.render(context, request)
web_1 | File "/usr/local/lib/python3.8/site-packages/django/template/backends/django.py", line 61, in render
web_1 | return self.template.render(context)
web_1 | File "/usr/local/lib/python3.8/site-packages/django/template/base.py", line 171, in render
web_1 | return self._render(context)
web_1 | File "/usr/local/lib/python3.8/site-packages/django/template/base.py", line 163, in _render
web_1 | return self.nodelist.render(context)
web_1 | File "/usr/local/lib/python3.8/site-packages/django/template/base.py", line 937, in render
web_1 | bit = node.render_annotated(context)
web_1 | File "/usr/local/lib/python3.8/site-packages/django/template/base.py", line 904, in render_annotated
web_1 | return self.render(context)
web_1 | File "/usr/local/lib/python3.8/site-packages/django/template/loader_tags.py", line 150, in render
web_1 | return compiled_parent._render(context)
web_1 | File "/usr/local/lib/python3.8/site-packages/django/template/base.py", line 163, in _render
web_1 | return self.nodelist.render(context)
web_1 | File "/usr/local/lib/python3.8/site-packages/django/template/base.py", line 937, in render
web_1 | bit = node.render_annotated(context)
web_1 | File "/usr/local/lib/python3.8/site-packages/django/template/base.py", line 904, in render_annotated
web_1 | return self.render(context)
web_1 | File "/usr/local/lib/python3.8/site-packages/django/template/loader_tags.py", line 188, in render
web_1 | return template.render(context)
web_1 | File "/usr/local/lib/python3.8/site-packages/django/template/base.py", line 173, in render
web_1 | return self._render(context)
web_1 | File "/usr/local/lib/python3.8/site-packages/django/template/base.py", line 163, in _render
web_1 | return self.nodelist.render(context)
web_1 | File "/usr/local/lib/python3.8/site-packages/django/template/base.py", line 937, in render
web_1 | bit = node.render_annotated(context)
web_1 | File "/usr/local/lib/python3.8/site-packages/django/template/base.py", line 904, in render_annotated
web_1 | return self.render(context)
web_1 | File "/usr/local/lib/python3.8/site-packages/django/template/defaulttags.py", line 302, in render
web_1 | match = condition.eval(context)
web_1 | File "/usr/local/lib/python3.8/site-packages/django/template/defaulttags.py", line 876, in eval
web_1 | return self.value.resolve(context, ignore_failures=True)
web_1 | File "/usr/local/lib/python3.8/site-packages/django/template/base.py", line 671, in resolve
web_1 | obj = self.var.resolve(context)
web_1 | File "/usr/local/lib/python3.8/site-packages/django/template/base.py", line 796, in resolve
web_1 | value = self._resolve_lookup(context)
web_1 | File "/usr/local/lib/python3.8/site-packages/django/template/base.py", line 829, in _resolve_lookup
web_1 | current = current[bit]
web_1 | File "/usr/local/lib/python3.8/site-packages/django/utils/functional.py", line 256, in inner
web_1 | self._setup()
web_1 | File "/usr/local/lib/python3.8/site-packages/django/utils/functional.py", line 392, in _setup
web_1 | self._wrapped = self._setupfunc()
web_1 | File "/usr/local/lib/python3.8/site-packages/django/contrib/auth/middleware.py", line 24, in <lambda>
web_1 | request.user = SimpleLazyObject(lambda: get_user(request))
web_1 | File "/usr/local/lib/python3.8/site-packages/django/contrib/auth/middleware.py", line 12, in get_user
web_1 | request._cached_user = auth.get_user(request)
web_1 | File "/usr/local/lib/python3.8/site-packages/django/contrib/auth/__init__.py", line 182, in get_user
web_1 | user_id = _get_user_session_key(request)
web_1 | File "/usr/local/lib/python3.8/site-packages/django/contrib/auth/__init__.py", line 59, in _get_user_session_key
web_1 | return get_user_model()._meta.pk.to_python(request.session[SESSION_KEY])
web_1 | File "/usr/local/lib/python3.8/site-packages/django/contrib/sessions/backends/base.py", line 54, in __getitem__
web_1 | return self._session[key]
web_1 | File "/usr/local/lib/python3.8/site-packages/django/contrib/sessions/backends/base.py", line 194, in _get_session
web_1 | self._session_cache = self.load()
web_1 | File "/usr/local/lib/python3.8/site-packages/django/contrib/sessions/backends/db.py", line 43, in load
web_1 | s = self._get_session_from_db()
web_1 | File "/usr/local/lib/python3.8/site-packages/django/contrib/sessions/backends/db.py", line 32, in _get_session_from_db
web_1 | return self.model.objects.get(
web_1 | File "/usr/local/lib/python3.8/site-packages/django/db/models/manager.py", line 82, in manager_method
web_1 | return getattr(self.get_queryset(), name)(*args, **kwargs)
web_1 | File "/usr/local/lib/python3.8/site-packages/django/db/models/query.py", line 402, in get
web_1 | num = len(clone)
web_1 | File "/usr/local/lib/python3.8/site-packages/django/db/models/query.py", line 256, in __len__
web_1 | self._fetch_all()
web_1 | File "/usr/local/lib/python3.8/site-packages/django/db/models/query.py", line 1242, in _fetch_all
web_1 | self._result_cache = list(self._iterable_class(self))
web_1 | File "/usr/local/lib/python3.8/site-packages/django/db/models/query.py", line 55, in __iter__
web_1 | results = compiler.execute_sql(chunked_fetch=self.chunked_fetch, chunk_size=self.chunk_size)
web_1 | File "/usr/local/lib/python3.8/site-packages/django/db/models/sql/compiler.py", line 1095, in execute_sql
web_1 | cursor = self.connection.cursor()
web_1 | File "/usr/local/lib/python3.8/site-packages/django/db/backends/base/base.py", line 256, in cursor
web_1 | return self._cursor()
web_1 | File "/usr/local/lib/python3.8/site-packages/django/db/backends/base/base.py", line 233, in _cursor
web_1 | self.ensure_connection()
web_1 | File "/usr/local/lib/python3.8/site-packages/django/db/backends/base/base.py", line 217, in ensure_connection
web_1 | self.connect()
web_1 | File "/usr/local/lib/python3.8/site-packages/django/db/utils.py", line 89, in __exit__
web_1 | raise dj_exc_value.with_traceback(traceback) from exc_value
web_1 | File "/usr/local/lib/python3.8/site-packages/django/db/backends/base/base.py", line 217, in ensure_connection
web_1 | self.connect()
web_1 | File "/usr/local/lib/python3.8/site-packages/django/db/backends/base/base.py", line 195, in connect
web_1 | self.connection = self.get_new_connection(conn_params)
web_1 | File "/usr/local/lib/python3.8/site-packages/django/db/backends/postgresql/base.py", line 178, in get_new_connection
web_1 | connection = Database.connect(**conn_params)
web_1 | File "/usr/local/lib/python3.8/site-packages/psycopg2/__init__.py", line 127, in connect
web_1 | conn = _connect(dsn, connection_factory=connection_factory, **kwasync)
web_1 | django.db.utils.OperationalError: could not connect to server: Connection refused
web_1 | Is the server running on host "localhost" (127.0.0.1) and accepting
web_1 | TCP/IP connections on port 5432?
web_1 | could not connect to server: Cannot assign requested address
web_1 | Is the server running on host "localhost" (::1) and accepting
web_1 | TCP/IP connections on port 5432?
docker-compose.yaml
version: '3.8'
volumes:
postgres_data:
static_volume:
media:
services:
db:
image: postgres:12.0-alpine
volumes:
- postgres_data:/var/lib/postgresql/data/
env_file:
- ./.env
web:
image: bdcry/foodgram:latest
restart: always
volumes:
- static_volume:/code/static/
- media:/code/media
depends_on:
- db
env_file:
- ./.env
nginx:
image: nginx:1.19.0
volumes:
- media:/code/media
- static_volume:/code/static/
- ./default.conf:/etc/nginx/conf.d/default.conf
ports:
- "80:80"
depends_on:
- web
settings.py
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.postgresql',
'NAME': 'postgres',
'USER': 'postgres',
'PASSWORD': '0906',
'HOST': 'localhost',
'PORT': '5432',
}
}