Невозможно подключить django и redis, работающие в одном контейнере
Я открыл порт 6379, это мой файл докера
from python:3.11.8-bookworm as builder
RUN curl -sSL https://install.python-poetry.org | python3 -
ENV PATH "/root/.local/bin:$PATH"
ENV POETRY_NO_INTERACTION=1 \
POETRY_VIRTUALENVS_IN_PROJECT=1 \
POETRY_VIRTUALENVS_CREATE=1 \
POETRY_CACHE_DIR=/tmp/poetry_cache \
PYTHONUNBUFFERED=1 \
PYTHONDONTWRITEBYTECODE=1
WORKDIR /app
COPY poetry.lock pyproject.toml ./
RUN poetry install --no-dev && rm -rf $POETRY_CACHE_DIR
from python:3.11.8-slim-bookworm as runtime
RUN apt-get update && apt-get install -y sudo
RUN sudo apt install lsb-release curl gpg -y && curl -fsSL https://packages.redis.io/gpg | sudo gpg --dearmor -o /usr/share/keyrings/redis-archive-keyring.gpg && echo "deb [signed-by=/usr/share/keyrings/redis-archive-keyring.gpg] https://packages.redis.io/deb $(lsb_release -cs) main" | sudo tee /etc/apt/sources.list.d/redis.list && sudo apt-get update && sudo apt-get install redis -y && redis-server --daemonize yes
EXPOSE 6379
ENV VIRTUAL_ENV=/app/.venv \
PATH="/app/.venv/bin:$PATH"
COPY --from=builder ${VIRTUAL_ENV} ${VIRTUAL_ENV}
COPY text_snippets /app/text_snippets
COPY url_shortner /app/url_shortner
COPY manage.py /app/
WORKDIR /app
RUN python3 manage.py makemigrations
RUN python3 manage.py migrate
RUN python3 manage.py crontab add
ENTRYPOINT ["python3", "manage.py", "runserver", "0.0.0.0:8000", "--noreload"]
Это настройка кэша в settings.py
CACHES = {
"default": {
"BACKEND": "django.core.cache.backends.redis.RedisCache",
"LOCATION": "redis://127.0.0.1:6379",
}
}
Я запускаю службу с помощью docker run -p 8000:8000 name
Одно из представлений в приложении django подключается к кэшу redis для получения данных/сохранения данных, но когда я пытаюсь посетить связанный с ним url, я получаю ошибку Error 111 connecting to 127.0.0.1:6379. Connection refused
другие работают нормально.