ansango / wiki
 ·  1 min de lectura

Permisos de Disco para LXC + Docker en Proxmox

Permitir que un contenedor LXC no privilegiado que ejecuta Docker pueda leer y escribir en un disco físico montado en el host Proxmox.

📌 Objetivo

Permitir que un contenedor LXC no privilegiado que ejecuta Docker pueda leer y escribir en un disco físico montado en el host Proxmox.


1️⃣ Montar el disco en el host

Ejemplo:

mkdir /mnt/disk2
mount /dev/sdX1 /mnt/disk2

2️⃣ Agregar el disco al LXC

Editar /etc/pve/lxc/<ID>.conf:

mp0: /mnt/disk2,mp=/media

Esto hace que /mnt/disk2 (host) aparezca como /media dentro del LXC.


3️⃣ Entender el problema de permisos

Los contenedores no privilegiados usan un mapeo de UIDs/GIDs:

Por eso no pueden escribir en el disco aunque “sean root”.


4️⃣ Ver el rango de UID/GID usado por LXC

En el host:

cat /etc/subuid
cat /etc/subgid

Ejemplo típico:

root:100000:65536

Esto significa:


5️⃣ Dar permisos al contenedor

En el host:

chown -R 100000:100000 /mnt/disk2
chmod -R 775 /mnt/disk2

Ahora el contenedor tiene permisos de escritura en /media.


6️⃣ Usar el disco desde Docker dentro del LXC

Ejemplo:

docker run -v /media:/data

Los contenedores Docker ya pueden escribir sin problemas.


🟩 Resultado

✔ LXC no privilegiado accede al disco
✔ Docker dentro del LXC puede escribir
✔ Seguridad del contenedor no se compromete (a diferencia de usar un LXC privilegiado)