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
docker run --privileged=true ...
Sebuah alternatif
sudo losetup /dev/loop0 test.img
mount /dev/loop0 /mnt
docker run -v /mnt:/mnt ...
Ini hampir berhasil
docker run --device=/dev/loop-control:/dev/loop-control --device=/dev/loop0:/dev/loop0 --cap-add SYS_ADMIN ...
Namun saya mendapatkan kesalahan ini:
root@5c033d5f8625:/# sudo mount /dev/loop0 /mnt
mount: block device /dev/loop0 is write-protected, mounting read-only
mount: cannot mount block device /dev/loop0 read-only
Lihat tautan ini untuk informasi lebih lanjut .
Catatan pada halaman manual systemd-nspawn:
systemd-nspawn membatasi akses ke berbagai antarmuka kernel di dalam wadah hanya-baca, seperti / sys, / proc / sys atau / sys / fs / selinux. Antarmuka jaringan dan jam sistem tidak dapat diubah dari dalam wadah. Perangkat node tidak dapat dibuat. Sistem host tidak dapat di-boot ulang dan modul kernel mungkin tidak dimuat dari dalam wadah.
--capability=CAP_MKNOD
masih berfungsi? Bagi saya itu tampaknya tidak berpengaruh, saya membalasnyaOperation not permitted
, dan begitu juga pengguna ini dan pengguna ini .