Estoy tratando de montar una carpeta en el host en un contenedor LXC.
El host tiene una carpeta /mnt/ssd/solr_data
creada (esto está actualmente en el sistema de archivos raíz, pero luego montaré una unidad SSD allí, así que me estoy preparando para eso).
Quiero que la carpeta se monte como /data
en el contenedor.
Entonces, en el archivo fstab de contenedores, tengo lo siguiente:
/mnt/ssd/solr_data /var/lib/lxc/Solr4StandAlone/rootfs/data ext4 defaults,noatime 0 0
Pero eso no es posible, me sale este error al iniciar el contenedor:
lxc-start: No such file or directory - failed to mount '/mnt/ssd/solr_data' on '/usr/lib/x86_64-linux-gnu/lxc//data'
lxc-start: failed to setup the mounts for 'Solr4StandAlone'
lxc-start: failed to setup the container
lxc-start: invalid sequence number 1. expected 2
lxc-start: failed to spawn 'Solr4StandAlone'
mount
esto se aplica? No pude encontrar la opción descrita enmount(8)
Ubuntu 14.04, por ejemplo.mount(8)
En
/var/lib/lxc/Solr4StandAlone/config
agregar una lectura de línea:Luego
lxc-stop
detenga su contenedor ylxc-start
su contenedor nuevamente.Eso es todo lo que se necesita.
ref: enlace de referencia
fuente
Tuve que crear la
/data
carpeta en el contenedor local antes de que el montaje funcionara correctamente.También usé esta entrada fstab:
fuente
bind
La opción de montaje es algo que faltaba en el OP. Creo que es la corrección más importante (presente también en todas las otras respuestas de trabajo).A partir del 30/09/2015, un cambio resultante de un parche de seguridad rompe el montaje en una ruta absoluta con lxc.mount.entry en el archivo de configuración.
En su lugar, puede usar una ruta relativa
Ver: https://wiki.debian.org/LXC#Bind_mounts_inside_the_container
fuente
Como LXC ha cambiado con el tiempo, esto puede ser muy simple, pero me dejó perplejo por un tiempo, por lo que quería contribuir. También creé una esencia para esto, así puedo recordarme a mí mismo, pero simplemente usar el dispositivo de configuración lxc hará el truco.
Nota Es importante dejar la barra diagonal fuera del argumento de ruta debido a un cambio mencionado por @biscuitNinja
Montaje de directorios del contenedor al host
fuente
Si está utilizando
libvirt
para crear sulxc
contenedor, puede hacer que el directorio en el host seapassthrough
como se muestra aquí:fuente