Разделение данных тома приложения на пользователя с Docker пространствами имен пользователей - PullRequest
0 голосов
/ 10 апреля 2020

Я использую Docker пространства имен пользователя с непривилегированным пользователем (dockeruser) в Docker Swarm. Итак, контейнеры Docker читают / записывают с идентификаторами, определенными в /etc/subuid и /etc/subgid.

. Теперь я хотел бы иметь учетную запись пользователя для каждого приложения в хост-системе и монтировать тома Docker в они находятся в этих пользовательских каталогах (/home/foo/some_volume, /home/bar/another_volume_from_another_container).

Если я правильно понял, все Docker контейнеры должны работать с одинаковыми правами пользователя. Поэтому у меня не может быть одного контейнера, работающего с правами хост-пользователя foo, и другого контейнера, работающего с правами хост-пользователя bar (по крайней мере, согласно выпуск 28593 ).

Теперь возникает вопрос: могу ли я каким-то образом настроить права доступа к каталогу так, чтобы пользователь foo не мог видеть содержимое домашнего каталога bar, а bar не мог видеть, что находится в домашнем каталоге foo, но все еще разрешал dockeruser (непривилегированный) для монтирования, чтения и записи данных в обоих каталогах?

Я думал, что размещения dockeruser в соответствующих группах пользователей хоста (foo и bar) должно быть достаточно. Но после переключения /home/foo и /home/bar на 0770, Docker не смог смонтировать тома в этих каталогах.

PS: I знаю что у меня не было бы этой проблемы с Podman , но я застрял с Docker.

...