Я запускаю основанный на Docker конвейер в Jenkins, который компилирует LaTeX внутри образа Docker и обнаруживает пропущенные шрифты, которые затем пытается установить в домашний каталог пользователя.Однако пользователь jenkins
, созданный конвейером, не имеет домашнего каталога, поскольку образ Docker не знает, для какого пользователя (uid
и gid
) создать домашний каталог.Поэтому у пользователя jenkins нет прав на создание своего домашнего каталога.
В образе Docker существует другой пользователь sudo.Однако этот пользователь sudo также изменил бы права доступа к файлу для своего вновь созданного файла таким образом, чтобы следующие шаги в конвейере Jenkins больше не могли читать файлы.
Пока я обошел его, установив HOME
переменная, которую подхватывает LaTeX.Интересно, есть ли лучший обходной путь?Другая возможность состоит в том, чтобы вернуть все файлы обратно их первоначальным владельцам.
Более общий вопрос заключается в том, можно ли с помощью Docker автоматически переводить uid и gids в подключенном томе в различные uid и gids на хосте.