Как сменить пользователя службы Docker? - PullRequest
0 голосов
/ 22 сентября 2019

У меня проблема, потому что я установил и запустил Docker как «bad_user».Проблема заключается в том, что этот контейнер генерирует статические файлы (его изображение jekyll / jekyll), и эти файлы принадлежат "bad_user", поэтому я не могу их редактировать (я знаю, что могу добавить себя в группу bad_user или создать каталог с помощью chown -R, ноэто было бы больно делать каждый раз, и это просто меня беспокоило:).

Я попытался переустановить docker и удалить каталог / etc / docker без какого-либо эффекта.Каждый раз, когда я переустанавливаю его (служба / менеджер докеров), запускается как "bad_user" и перезаписывает владельца каталога.

Мой вопрос: Можно ли сделать так, чтобы докер работал под пользователем "докер"?Я уже создал этого пользователя с этой группой (да, я уже переустанавливал docker-ce под этим пользователем).

Я работаю над дистрибутивом на основе Debian.

Я думаю, вВ моем случае это проблема демона Docker, так или иначе, когда он синхронизирует файлы общего тома, он дает разрешение bad_user вместо пользователя, который запускает контейнер.

PS.Это команда, которую я запускаю, если это имеет значение:

docker run --rm -p 8000:8000 \
  --volume="/home/docker/blog:/srv/jekyll" \
  -it tocttou/jekyll:3.5 \
  jekyll serve --watch --port 8000


1 Ответ

0 голосов
/ 23 сентября 2019

Хорошо, я понял это.Оказывается, когда вы запускаете контейнер linux, который создает некоторые файлы на общем томе (аргумент -v создает общий том), права доступа к файлам будут для пользователя с grup id = 1000 и id = 1000. В моем случае пользователь с id= 1000 был "bad_user".Если вы хотите обойти это, вы можете использовать --user и указать идентификатор пользователя, под которым вы работаете.Главное - помнить, что разрешения linux - это просто числа, для файловой системы хоста номер 1000 (в моем случае) «bad_user», а 10001 - «docker_user».Если вы проверите разрешения изнутри контейнера, вы можете увидеть, что user id = 1000 означает совсем другого пользователя, чем в вашей хост-системе.

Я надеюсь, что следующие люди, которые столкнутся с этой проблемой, найдут это полезное.

Вы можете найти больше информации здесь: https://dille.name/blog/2018/07/16/handling-file-permissions-when-writing-to-volumes-from-docker-containers/

...