Недавно я перевел свою установку Docker в режим без root-доступа. Хотя мне удалось исправить большинство проблем. После преобразования я заметил, что монтирование NFS больше не работает в docker-compose, поэтому я переместил их в fstab. Кроме того, я столкнулся с несколькими ошибками разрешений каталога.
Я столкнулся с неприятной проблемой с разрешениями каталога при сопоставлении каталогов хоста с контейнерами.
Настройка:
- Каталог хоста: /docker/enshrouded
- Каталог контейнера : /home/enshrouded/savegame
- Команда сопоставления: docker run -v /docker/enshrouded:/home/enshrouded/ сохранить игру
Я использую изображения игр Steam, где «Пользователь Steam» внутри контейнера Docker сопоставлен с UID и GID 10000. Несмотря на изменение владельца каталога хоста с помощью chown -R 10000:10000, я продолжал получать ошибки разрешений.
Для устранения неполадок я создал каталог с помощью chmod 777 и вошел в контейнер, чтобы проверить владельца файла. Удивительно, но право собственности было установлено на 109999.
Вопрос:
Есть ли лучший способ понять и управлять Смещение UID/GID в Docker без root? Я читал различные ресурсы, но ни один из них не предлагает четкого детерминированного метода. Я вообще-то пробовал 10001, 20000, но посчитать 109999 мне в голову не пришло. Возможно я тупой. Не уверен, что альтернативные наборы инструментов, такие как Podman, будут здесь намного лучше или нет. В любом случае я считаю, что отсутствие root-прав, вероятно, было правильным шагом, но это последнее препятствие на пути к обновлению взаимозаменяемости моего домашнего сервера.
Ссылка:Эксперименты с Rootless Docker
[Docker Container] (https://github.com/jsknnr/enshrouded-server)
На самом деле я пробовал 10001, 20000 , но мне не пришло в голову посчитать 109999. Я прочитал https://medium.com/@tonistiigi/experime ... 6c9ad8c0d6. Я ожидал вычислимого метода.
Подробнее здесь: https://stackoverflow.com/questions/790 ... ory-mounts