Есть ли способ ограничить доступ к контейнерам для пользователей в Docker? - PullRequest
2 голосов
/ 31 мая 2019

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

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

Вы делали какие-либо эксперименты такого рода?

Спасибо.

Ответы [ 2 ]

3 голосов
/ 31 мая 2019

Почему бы не создать отдельный контейнер Docker для каждой службы?

Другими словами, вы создаете один контейнер для каждого друга, и в каждом контейнере вы создаете пользователя, который является членом sudo (так что ваш друг будет корнем своего собственного контейнера). Затем установите openssh-сервер и дайте каждому из ваших друзей доступ к данным SSH (его имя пользователя и пароль) в его контейнер. Таким образом, они могут делать все, что хотят, не влияя друг на друга.

Конечно, не забудьте перенаправить SSH-соединение (и любые другие соединения нужных вам сервисов) с хоста на контейнер.

1 голос
/ 31 мая 2019

К сожалению, стоя там

Почему Docker не поддерживает мультитенантность?

Докер не поддерживает мультитенантность, поэтому вы не можете изолировать пользователей друг от друга.

Редактировать: одно из возможных решений - создать SSH-сервер в каждом контейнере, а затем разрешить пользователям подключаться напрямую через SSH к контейнеру вместо использования хост-машины.

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