Том носителя недоступен для Celery при использовании Docker
Я занимаюсь докеризацией приложения Django и испытываю с этим некоторые трудности. У меня есть приложение Django, использующее postgres, а также nginx и gunicorn, успешно установленные. Однако при докеризации Celery кажется, что у него нет доступа к моим медиафайлам. Я искал причину в течение нескольких часов, но ничего не нашел.
Единственное, что мне показалось странным, это то, что мой media
том кажется пустым при проверке на рабочем столе Docker, но я даже не знаю, так это должно быть или нет...
Я пробовал разные подходы к определению медиа-тома в контейнере Celery, но безрезультатно.
Вот мой docker-compose.yml
:
version: '3.8'
services:
rabbitmq3:
container_name: rabbitmq
image: rabbitmq:3-alpine
ports:
- 5672:5672
postgres:
container_name: postgres
hostname: postgres
image: postgres:latest
env_file:
- env
environment:
- POSTGRES_USER=postgres
- POSTGRES_PASSWORD=ThisPasswordShouldBeChanged19456
- POSTGRES_DB=Scripts Application
ports:
- "5432:5432"
restart: on-failure
volumes:
- postgresql-data:/var/lib/postgresql/data
django_gunicorn:
container_name: django_gunicorn
volumes:
- media:/media
env_file:
- env
build:
context: .
ports:
- "8000:8000"
command: sh -c "python manage.py migrate && python manage.py collectstatic --no-input && gunicorn main.wsgi:application --bind 0.0.0.0:8000"
depends_on:
- postgres
nginx:
container_name: nginx
build: ./nginx
volumes:
- .:/code
- static:/static
ports:
- "80:80"
depends_on:
- django_gunicorn
celery:
container_name: celery
restart: always
volumes:
- media:/media
build:
context: .
command: celery -A main worker -P eventlet -c 100 -l INFO
env_file:
- env
depends_on:
- rabbitmq3
- django_gunicorn
- postgres
volumes:
postgresql-data:
static:
media:
Если для определения проблемы необходимы какие-то другие файлы, я буду рад их предоставить. Заранее благодарю за помощь !