Ho provato a installare un modulo del kernel, xfsprogs
. È stato installato con successo all'interno di un container. È davvero sorprendente, ma lsmod
non elenca questo modulo all'interno del contenitore o nel sistema host. Come può un nuovo modulo del kernel caricati in un contenitore? (CentOS
contenitore, Ubuntu
host)Docker caricamento moduli kernel
risposta
contenitori interagiscono con il kernel tramite chiamate di sistema e non includono alcuna parte del kernel o dei moduli del kernel all'interno del contenitore. Questo è uno dei motivi per cui i contenitori sono progettati per essere leggeri e portatili. Anche xfsprogs sono programmi spaziali dell'utente e non moduli del kernel.
Come può un nuovo modulo del kernel caricati in un contenitore? (CentOS contenitore, ospite Ubuntu)
Il modulo deve essere caricato sul vostro sistema operativo host, e non dal contenitore finestra mobile.
- Esegui il contenitore in modalità privilegiata (--privileged)
- Aggiungi tutte le capacità (--cap-add = ALL)
- mount host/lib/modules nel contenitore (-v/lib/moduli:/lib/modules)
docker run --name container_name --privileged --cap-add=ALL -d -v /dev:/dev -v /lib/modules:/lib/modules image_id
Ecco tutte le funzionalità di Linux è aggiunto in modo funzionalità può essere raffinato.
cosa dovrebbe essere usato quando si esegue una versione di Windows o macosx di finestra mobile? Dove sono i moduli del kernel moby linux? – user725408
In docker toolbox per windows, che esegue l'host linux boot2docker sotto di esso, è possibile eseguire l'ssh in esso e vedere i moduli in/lib/modules –
Falco è un esempio di contenitore che carica un modulo del kernel come parte del suo processo di avvio.
docker run -i -t --name falco --privileged \
-v /var/run/docker.sock:/host/var/run/docker.sock \
-v /dev:/host/dev \
-v /proc:/host/proc:ro \
-v /boot:/host/boot:ro \
-v /lib/modules:/host/lib/modules:ro \
-v /usr:/host/usr:ro \
sysdig/falco
'xfsprogs' è un ** pacchetto **, fornito librerie dello spazio utente ** **. 'lsmod' mostra ** moduli del kernel **, attualmente caricati nel kernel. – Tsyvarev
Ma allora qual è il modulo necessario per 'xfs' fs. "supporto"? –
Per rendere il sistema in grado di montare i filesystem formattati con 'xfs', è necessario compilare il kernel con il modulo xfs abilitato (nel file di configurazione). Se 'sudo modprobe xfs' (in esecuzione su una macchina host) riporta l'errore che il modulo non è stato trovato, il tuo kernel non ha supporto per il filesystem xfs. – Tsyvarev