Задать вопрос
@berkutxxx

Docker volume, контейнер под nginx-юзер не может писать в папку хоста, owner = 1001?

На хосте есть папка /home/user/video/docker/share/, у неё такие права:
drwxrwxr-x 2 user user 4096 Nov 11 20:38 share
Если запускать docker run через опцию -v /home/user/video/docker/share/:/var/video, внутри докера у папки owner = 1001 :
drwxrwxr-x    2 1001     1001          4096 Nov 11 20:38 video

Если без -v на папку /var/video, успешно сохраняется с такими правами:
/var/video $ ls -la
drwxrwx---    1 nginx    nginx         4096 Nov 12 21:39 .
drwxr-xr-x    1 root     root          4096 Nov 12 21:32 ..
-rw-r--r--    1 nginx    nginx       399213 Nov 12 21:39 test3333.mp4

Как сделать так, чтобы контейнер смог сохранить в папку /var/video, а я имел доступ(минимум чтение + удаление) к файлу вне контейнера?
  • Вопрос задан
  • 455 просмотров
Подписаться 2 Простой Комментировать
Решения вопроса 1
@rustler2000
погромист сикраш
  • Создаешь на хосте группу с gid (имя не важно) - groupadd --gid 1234 wrgroup1
  • Даешь права группе на директорию - chgrp wrgroup1 /home/usr/video; chmod 664 /home/user/video
  • Создаешь в контейнере группу с такимже gid - groupadd --gid 1234 wrgroup1
  • Добавляешь в контейнере пользователя nginx в группу - usermod -a -G wrgroup1 nginx


Или нужна с маппингом пользоватей\прокидкой /etc/groups /etc/passwd заморачиваться, чего как правило лучше не делать. (Или вообще с синхронизацией - т.е. головить хост и под него контейнеры - что в общемто не оч сложно, но ошибится можно легко).
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы