Ich habe das Gefühl, das ist kein guter Weg, um mein Problem zu lösen, aber das ist, was ich vorerst getan habe, bis sich eine vernünftigere Idee ergibt.
Mein Container beginnt in bash, aus dieser Schale Ich bin in der Lage Loop-Geräte hinzufügen mit:
# mknod /dev/loop0 -m0660 b 7 0
# mknod /dev/loop1 -m0660 b 7 1
...
# mknod /dev/loop9 -m0660 b 7 9
und jetzt, ich habe Loop-Geräte zur Verfügung, so dass ich im Stande bin, ein ISO zu montieren. Ich bemerkte jedoch, dass das erste verfügbare Loop-Gerät für mich /dev/loop2
war:
bash-4.1# losetup -f
/dev/loop2
bedeutet dies, dass loop0 und loop1 ist bereits im Einsatz, dies bestätigt:
bash-4.1# losetup -a
/dev/loop0: [fd00]:1978974 (/dev/loop0)
/dev/loop1: [fd00]:1978975 (/dev/loop1)
/dev/loop2: [fd00]:2369514 (/path/to/my/iso)
und, deshalb ich denke, diese Lösung schlecht ist, von außerhalb des Behälters:
12:36:02 $ losetup -a
/dev/loop0: []: (/var/lib/docker/devicemapper/devicemapper/data)
/dev/loop1: []: (/var/lib/docker/devicemapper/devicemapper/metadata)
/dev/loop2: []: (/path/to/my/iso)
So sieht es aus wie die ersten 2 Loop-Geräte I in dem Behälter geschaffen abgebildet loop0 und loop1 außerhalb des Behälters, weshalb sie nicht zur Verfügung standen. Ich denke, es muss eine Möglichkeit geben, diese Geräte mit devicemapper einzurichten (das wird von Docker verwendet, nach dem Aussehen), aber ich konnte nicht viele Informationen dazu finden.
Bis auf weiteres wird diese Lösung für mich in Ordnung sein - ich muss nur vorsichtig sein, sich an umount
das Bild zu erinnern, wenn ich damit fertig bin.
Ich bin mir bewusst, dass dies alles andere als eine vernünftige Lösung ist, also wenn jemand anderes einen besseren Plan aufstellen kann, bin ich ganz Ohr.
Hallo, vielen Dank für Ihre Antwort. Kannst du mir ein bisschen mehr Informationen über deinen Vorschlag geben? Die Beispiele auf der Manpage "losetup" legen nahe, dass die Schleifeneinträge in/dev existieren, was in diesem Fall nicht der Fall ist (Inhalt von '/ dev': console full kmsg mapper null ptmx pts zufälliger shm stderr stdin stdout tty tty1 urandom null '). Es sah so aus, als wäre die Verwendung von 'dmsetup' eine Option, aber wiederum gibt es nicht viele Informationen darüber, wie dies geschehen würde. – pxul
Was gibt 'losetup -f'? – abligh
So wie ich es vom mount-Befehl bekomme: 'losetup: Konnte kein Loop-Gerät finden. Vielleicht weiß dieser Kernel nichts über das Loop-Gerät? (Wenn ja, kompiliere oder modprobe Schleife.) ' – pxul