Отсутствует переназначение пространства имен пользователя , важны только две вещи:
- Что такое числовой идентификатор пользователя; и
- Что находится в файле
/etc/passwd
.
Помните, что каждый контейнер и хост имеют отдельные файловые системы, поэтому каждая из этих вещей может иметь отдельные /etc/passwd
файлы.
Что произойдет, если я запускаю одно и то же изображение несколько раз, т.е. несколько контейнеров? Будет ли один и тот же идентификатор назначен всем процессам?
Да, поскольку каждый контейнер получает копию одного и того же файла /etc/passwd
из образа.
Что произойдет, если я добавлю ту же команду выше в другое изображение и запусту это изображение как контейнер? - Я получу новый UID или такой же UID, как предыдущий?
Это зависит от того, что на самом деле делает adduser
; оно может быть одинаковым или разным.
Как происходит увеличение uid в контейнере по отношению к хост-машине.
Они полностью и полностью независимы.
Также помните, что вы можете docker push
/ docker pull
встроенный образ для запуска его на другом хосте. Это принесет с собой файл /etc/passwd
образа, но среда хоста может быть совершенно другой. Соответственно, не рекомендуется пытаться сопоставить uid-сопоставление определенного хоста в Dockerfile, потому что будет неправильно, если вы попытаетесь запустить тот же образ где-нибудь еще.