Невозможно открыть unix-сокет в redis - Permission denied while firing up docker container

Я пытаюсь запустить отдельный контейнер redis, который будет работать как брокер для celery. Кто-нибудь может мне помочь, почему пользователь docker не может открыть сокет UNIX. Я даже пробовал сделать пользователя root, но, похоже, это не сработало. Ниже приведен Dockerfile, docker-compose и redis.conf файл

Dockerfile

FROM centos/python-36-centos7
USER root
ENV DockerHOME=/home/django
RUN mkdir -p $DockerHOME
ENV PYTHONWRITEBYCODE 1
ENV PYTHONUNBUFFERED 1
ENV PATH=/home/django/.local/bin:$PATH
COPY ./oracle-instantclient18.3-basiclite-18.3.0.0.0-3.x86_64.rpm /home/django
COPY ./oracle-instantclient18.3-basiclite-18.3.0.0.0-3.x86_64.rpm /home/django
COPY ./oracle.conf /home/django
RUN yum install -y dnf
RUN dnf install -y libaio libaio-devel
RUN rpm -i /home/django/oracle-instantclient18.3-basiclite-18.3.0.0.0-3.x86_64.rpm && \
            cp /home/django/oracle.conf /etc/ld.so.conf.d/ && \
            ldconfig && \
            ldconfig -p | grep client64
COPY ./requirements /home/django/requirements
WORKDIR /home/django
RUN pip install --upgrade pip
RUN pip install --no-cache-dir -r ./requirements/development.txt
COPY . .
RUN chmod 777 /home/django


EXPOSE 8000
ENTRYPOINT ["/bin/bash", "-e", "docker-entrypoint.sh"]

Docker-compose file

version : '3.8'

services:
  app:
    build: .
    volumes:
      - .:/django
      - cache:/var/run/redis
    image: app_name:django
    container_name: app_name
    ports:
      - 8000:8000
    depends_on:
      - db
      - redis
  db:
    image: postgres:10.0-alpine
    volumes:
      - postgres_data:/var/lib/postgresql/data
    ports:
     - 5432:5432
    environment:
      - POSTGRES_USER=app_name
      - POSTGRES_PASSWORD=app_password
      - POSTGRES_DB=app_db
    labels:
      description : "Postgres Database"
    container_name: app_name-db-1
  redis:
    image: redis:alpine
    command: redis-server /etc/redis/redis.conf
    restart: unless-stopped
    ports:
      - 6379:6379
    volumes:
      - ./redis/data:/var/lib/redis
      - ./redis/redis-server.log:/var/log/redis/redis-server.log
      - cache:/var/run/redis/
      - ./redis/redis.conf:/etc/redis/redis.conf
    container_name: redis
    healthcheck:
      test: redis-cli ping
      interval: 1s
      timeout: 3s
      retries: 30


volumes:
  postgres_data:
  cache:
  static-volume:

docker-entrypoint.sh

# run migration first
python manage.py migrate
python manage.py preload_sites -uvasas -l
python manage.py preload_endpoints -uvasas -l
python manage.py collectstatic --noinput

#start celery
export C_FORCE_ROOT='true'
celery multi start 1 -A realm -l INFO -c4

# start the server
python manage.py runserver 0:8000

redis.conf

unixsocket /var/run/redis/redis.sock
unixsocketperm 770

logfile /var/log/redis/redis-server.log

Я новичок в docker, поэтому прошу прощения, если я не сделал что-то очень очевидное или если я не следовал некоторым из лучших практик.

Заранее спасибо.

Вернуться на верх