Các thiết bị lặp được cung cấp bởi một mô-đun hạt nhân. Do đó, bạn cần đặc quyền để truy cập chúng. Bạn cũng cần hiển thị chúng vào thùng chứa của mình hoặc bạn cần tự tạo các tệp thiết bị.
Câu trả lời nhanh
docker run --privileged=true ...
Một sự thay thế
sudo losetup /dev/loop0 test.img
mount /dev/loop0 /mnt
docker run -v /mnt:/mnt ...
Điều này gần như hoạt động
docker run --device=/dev/loop-control:/dev/loop-control --device=/dev/loop0:/dev/loop0 --cap-add SYS_ADMIN ...
Tuy nhiên tôi nhận được lỗi này:
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
Xem liên kết này để biết thêm thông tin .
Một ghi chú trên trang mand systemd-nspawn:
systemd-nspawn giới hạn quyền truy cập vào các giao diện kernel khác nhau trong vùng chứa ở chế độ chỉ đọc, chẳng hạn như / sys, / Proc / sys hoặc / sys / fs / selinux. Giao diện mạng và đồng hồ hệ thống có thể không được thay đổi từ bên trong container. Các nút thiết bị có thể không được tạo. Hệ thống máy chủ không thể được khởi động lại và các mô-đun hạt nhân có thể không được tải từ bên trong container.
--capability=CAP_MKNOD
vẫn còn hoạt động? Đối với tôi nó dường như không có hiệu lực thi hành, tôi nhận đượcOperation not permitted
ngay cả với nó, và do đó, làm thành viên này và thành viên này .