Как запустить Docker-контейнер от имени пользователя, не являющегося пользователем root, и как передать образ Docker другим пользователям? - PullRequest
0 голосов
/ 13 мая 2018

Я столкнулся со сценарием, в котором мне нужно создать образ докера, который должен запускаться от имени пользователя без полномочий root. Чтобы объяснить подробно, во время сборки Docker я пытаюсь установить сервис, который должен быть установлен как пользователь без полномочий root. Поэтому я посмотрел вокруг, например Link и Link , которые показывают, как запустить контейнер Docker от имени пользователя без полномочий root. Я немного запутался в том, как создать пользователя в Dockerfile. Я использовал следующие строки в Dockerfile,

RUN useradd -r -u 1001 -g appuser appuser
USER appuser

Я успешно создал образ, и контейнер, похоже, запущен как пользователь. Но мне нужно предоставить этот образ докера клиентам, поэтому мой вопрос:

  1. Нужно ли создавать appuser пользователя на моих клиентских машинах?
  2. Как ведет себя docker на клиентском компьютере, если я не создаю таких пользователей?

Заранее спасибо.

1 Ответ

0 голосов
/ 13 мая 2018

Нужно ли создавать appuser пользователя на моих клиентских машинах?

Команда RUN не создает его на вашем клиентском компьютере, она создает его в контейнере.Фактически все инструкции в вашем Dockerfile применимы к создаваемому образу и контейнеру, запущенному из него.

Как ведет себя docker на клиентском компьютере, если я не создаю таких пользователей?

Тот же ответ.На клиентском компьютере ничего не устанавливается (кроме докера, который, как я полагаю, является данным).

...