Рассмотрим следующий сбой docker -compose.yml:
version: '3.7'
services:
test:
image: ubuntu
user: nobody
entrypoint: touch /tmp-a/hai
volumes:
- a:/tmp-a
volumes:
a:
В этом примере, чтобы избежать создания Dockerfile, я вручную установил пользователя. Однако обычно я пытаюсь сбросить root в свои файлы Docker, и когда я это делаю, я не могу использовать смонтированные для меня тома docker -compose. Причина в том, что каталог root для этого монтирования принадлежит root, и любой пользователь, кроме root, не может писать туда.
Мое обходное решение - явно установить user: root
в docker -compose, затем вручную измените разрешения для каталога и отбросьте привилегии в entrypoint
, но я считаю это очень неэлегантным. Есть ли способ сделать docker -compose набором разрешений для моих контейнеров, чтобы мой тестовый пример не сработал?