Estoy usando una máquina Docker para alojar algún proceso, como servidores de juegos con amigos. Quiero dar acceso a CLI de algunos contenedores para algunos usuarios (y solo para eso), para que no puedan interferir entre sí. No quiero que sean raíces en este servidor.
Una solución podría ser crear usuarios, permitirles ejecutar ciertos comandos de acuerdo con sus contenedores (como sudo docker adjuntar) y dejar que ellos hagan todo. Me gustaría saber si hay otra forma mejor y más adecuada de hacerlo.
¿Has hecho alguna experimentación de este tipo?
Gracias.
¿Por qué no crear un contenedor Docker separado para cada servicio?
Entonces, en otras palabras, crea un contenedor para cada amigo, y en cada contenedor crea un usuario que es miembro en sudo (por lo que su amigo será la raíz de su propio contenedor). Luego instale el servidor openssh y proporcione a cada uno de sus amigos los datos de acceso SSH (su nombre de usuario y contraseña) a su contenedor. De esta manera pueden hacer lo que quieran, sin afectarse unos a otros.
Por supuesto, no olvide reenviar la conexión SSH (y cualquier otra conexión de los servicios que desee) desde el host al contenedor.
Tristemente como estar allí
¿Por qué Docker no es compatible con la multiempresa?
docker no es compatible con múltiples inquilinos, por lo que no puede aislar a los usuarios entre sí.
Editar: una de las posibles soluciones es crear un servidor SSH en cada contenedor y luego permitir que sus usuarios se conecten directamente a través de SSH al contenedor en lugar de usar la máquina host.