У меня есть приложение работающее на Docker-compose
version: "3.0"
services:
static:
...
volumes:
- share-images:/usr/share/imgs
bus:
...
volumes:
- share-images:/usr/share/imgs
volumes:
share-images:
Bus - java приложение, которое сохраняет файлы (изображения) в именованный volume.
static - nginx сервер, который отображает данные изображения.
Но по умолчанию, у меня nginx выдаёт 403 ошибку при отображении изображения. Если посмотреть на файловую структуру из контейнера static, то можно увидеть, что не хватает привилегий для чтения файла.
# ls -al /usr/share/imgs
total 456
drwxr-xr-x 2 root root 4096 Jun 30 10:44 .
drwxr-xr-x 1 root root 4096 Jun 30 10:24 ..
-rw-r----- 1 root root 175804 Jun 30 10:44 27278103-9d2f-4599-8599-f9fc066c5bb5.jpg
Если выполнить chmod +r для файла, то всё будет работать.
Как нужно настроить volumes в docker-compose файле, чтобы в контейнере static права автоматом проставлялись правильно?