Безкорневое docker изображение - PullRequest
0 голосов
/ 21 января 2020

Я попытался запустить последние сборки Debian и Alpine, но, похоже, работает как root пользователь.

Я ожидал, что echo $USER не должен возвращать root, если он возвращается пустым; затем мне нужно проверить с помощью команды whoami, что это также возвращает root, мы вошли в контейнер docker в режиме root, что может привести к уязвимости.

Ответы [ 2 ]

1 голос
/ 21 января 2020

Обычный способ справиться с этим - переопределить это в вашем Dockerfile (вы можете сделать docker run --user, но это может привести к путанице в программах, так как, например, настройки домашнего каталога не будет).

FROM ubuntu
RUN useradd --create-home appuser
WORKDIR /home/appuser
USER appuser

Дополнительные сведения и некоторые другие действия, которые вы можете предпринять для защиты вашего контейнера: https://pythonspeed.com/articles/root-capabilities-docker-security/

1 голос
/ 21 января 2020

Согласно этому StackOverflow ответ , вам необходимо передать параметр --user <user>, чтобы войти в систему как пользователь, не являющийся root.

Пример: docker run -it --user nobody alpine

...