Saya mencoba menggunakan perangkat lingkaran di dalam wadah, untuk memasang beberapa file gambar:
> sudo losetup /dev/loop0 test.img
losetup: /dev/loop0: failed to set up loop device: No such file or directory
/dev/loop0
memang tidak ada, dan
> sudo mknod /dev/loop0 b 7 0
mknod: ‘/dev/loop0’: Operation not permitted
Bagaimana saya bisa membuat ini berfungsi? Apakah wadah memerlukan izin cgroup yang mungkin tidak dimiliki?
linux
containers
cgroup
loop-device
Johannes Ernst
sumber
sumber
--capability=CAP_MKNOD
masih berfungsi? Bagi saya itu tampaknya tidak berpengaruh, saya membalasnyaOperation not permitted
, dan begitu juga pengguna ini dan pengguna ini .--capability=CAP_MKNOD
saya harus mengaturDeviceAllow=block-loop rwm
di systemd-nspawn unit untuk membuatnya bekerja (mendapat ide dari sini ).--device-cgroup-rule="b 7:* rmw"
untukdocker run
mengizinkan akses penuh ke perangkat loopback (tetapi tidak ada yang lain, karena tidak ada--privilege
). Ditemukan melalui docs.docker.com/edge/engine/reference/commandline/create/… dan diuji pada buruh pelabuhan 18.06.1-ce (dokumen mengklaim hanya berlaku untuk Docker Edge)Perangkat loop disediakan oleh modul kernel. Karena itu, Anda memerlukan hak istimewa untuk mengaksesnya. Anda juga membutuhkannya untuk diekspos ke wadah Anda, atau Anda perlu secara manual membuat file perangkat.
Jawaban cepat
Sebuah alternatif
Ini hampir berhasil
Namun saya mendapatkan kesalahan ini:
Lihat tautan ini untuk informasi lebih lanjut .
Catatan pada halaman manual systemd-nspawn:
sumber