Ограничьте контейнеры Docker для пользователя UNIX, который его запускает - PullRequest
0 голосов
/ 08 апреля 2019

Я открываю свой сервер Docker для большего количества пользователей, и я сталкиваюсь с этой проблемой: когда я делаю docker ps с пользователем, который не является автором контейнера (например, paul), я вижу все контейнерыи может взаимодействовать с ним (останавливать, убивать и т. д.), и это не то, что я хотел бы.

Что может быть хорошим способом ограничить контейнеры для их первоначального пользователя, а затем не иметь доступа ко всем из них насервер, поэтому, когда я делаю docker ps, я вижу только контейнеры, работающие на paul, а не jack или jess?

Все мои контейнеры запускаются с разными пользователями, ни один из которых не имеет root.

1 Ответ

0 голосов
/ 08 апреля 2019
  1. Любой, имеющий доступ к Docker, эквивалентен root.

    Учтите, что я могу запустить что-то вроде этого:

    docker run -v /:/host alpine
    

    Теперь я могу редактировать любой файл на вашем хосте с привилегиями root.

  2. Docker принципиально не является многопользовательским инструментом. Либо вы доверяете всем, либо используете виртуализацию для предоставления каждому отдельного экземпляра Docker, либо вы предоставляете Docker своего рода прокси-сервер API, ограничивающий возможности людей.

    Поскольку это не многопользовательский инструмент, Docker на самом деле не отслеживает пользователя, который запустил контейнер, поэтому нет способа фильтровать эту информацию.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...