Доступ к именованным томам из контейнера, если они не запущены от имени пользователя root?
Я запускаю Celery под Docker Compose. Я хотел бы сделать Цветок Сельдерея настойчивым. Итак, я делаю:
version: '2'
volumes:
[...]
flower_data: {}
[...]
flower:
image: [base code image]
ports:
- "5555:5555"
volumes:
- flower_data:/flower
command:
celery -A proj flower --port=5555 --persistent=True --db=/flower/flower
Однако тогда я получаю:
IOError: [Errno 13] Permission denied: 'flower.dat'
Я объяснил, почему:
bash -c "ls -al /flower; whoami; celery -A proj flower --persistent=True --db=/flower/flower"
Это дало понять, почему:
flower_1 | drwxr-xr-x 3 root root 4096 Mar 10 23:05 .
flower_1 | drwxr-xr-x 7 root root 4096 Mar 10 23:05 ..
А именно, каталог монтируется какroot
еще в[base code image]
Я гарантирую, что пользователь работаетне root, согласно докам Celery, никогда не запускается как root:
FROM python:2.7
...
RUN groupadd user && useradd --create-home --home-dir /usrc/src/app -g user user
USER user
Как лучше всего было бы, чтобы Celery Flower продолжал работать не как root, но мог бы использовать этот именованный том?