Estoy tratando de montar una carpeta en el host en un contenedor LXC.
El host tiene una carpeta /mnt/ssd/solr_datacreada (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 /dataen 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'

mountesto se aplica? No pude encontrar la opción descrita enmount(8)Ubuntu 14.04, por ejemplo.mount(8)En
/var/lib/lxc/Solr4StandAlone/configagregar una lectura de línea:Luego
lxc-stopdetenga su contenedor ylxc-startsu contenedor nuevamente.Eso es todo lo que se necesita.
ref: enlace de referencia
fuente
Tuve que crear la
/datacarpeta en el contenedor local antes de que el montaje funcionara correctamente.También usé esta entrada fstab:
fuente
bindLa 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
libvirtpara crear sulxccontenedor, puede hacer que el directorio en el host seapassthroughcomo se muestra aquí:fuente