imagen - download docker image
debootstrap dentro de un contenedor de docker (4)
Aquí está mi problema: quiero construir un entorno chroot dentro de un contenedor acoplable. El problema es que debootstrap no puede ejecutarse porque no puede montar proc en el chroot:
W: Failure trying to run: chroot /var/chroot mount -t proc proc /proc
(En el registro, el problema es: mount: permission denied
)
Si run --privileged
el contenedor, (por supuesto) funciona ... Realmente me gustaría probar el chroot en el Dockerfile (mucho más limpio). ¿Hay alguna manera de hacer que funcione?
¡Muchas gracias!
Puede usar la variante faquerosroot de debootstrap, así:
fakechroot fakeroot debootstrap --variant=fakechroot ...
¡Aclamaciones!
Respuesta corta, sin modo privilegiado no, no hay forma.
Docker está dirigido a los micro servicios y no representa un reemplazo de las máquinas virtuales. Tener múltiples instalaciones en un contenedor definitivamente no es congruente con eso. ¿Por qué no usar múltiples contenedores docker en su lugar?
No, esto no es posible en la actualidad.
El problema n.º 1916 (que se refiere a la ejecución de operaciones con privilegios durante la docker build
) sigue siendo un problema abierto. Hubo un debate en un punto acerca de agregar un indicador de línea de comando y RUNP
comando RUNP
pero ninguno de estos se ha implementado.
Agregar --cap-add=SYS_ADMIN --security-opt apparmor:unconfined
al docker run
command funciona para mí.
Ver el número de moby / moby 16429