-
Notifications
You must be signed in to change notification settings - Fork 120
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Debian:Buster "/dev/mapper/control - no such device" in using Docker Desktop 2.3.0.2 #4549
Comments
I can confirm this behavior. At least in the 2.1.0.x and 2.2.0.x series cat /proc/devices contained
And /dev/mapper/control (char, 20, 236) was usable. In the linux kit kernel of the hyperkit VM there is no device mapper compiled in or available as a module.
This feature allowed unpack and pack of filesystem images. Packing was useful to create container images from filesystem images when the project does not offer tar.gz based images. I vote for including this again. |
Yes, absolutely necessary! I build install images for Raspberry Pi inside Docker using my qcow2 modification (see PR: RPi-Distro/pi-gen#349) and am using NBD for mounting/unmounting dynamic disk images. |
Confirming here as well. The block device is missing. My use case is similar to @pandel's . I am creating raspbery pi images Docker desktop 2.3.0.2 (45183) and MacOS Catalina 10.15.4. Fast workaround is to downgrade docker deskop to the previous version. |
@gtarnaras Yes, downgrade is an option, but leads to total Docker lock ups sometimes, at least with my setup. |
Full ACK here - we are developing (and using) PIMOD to extend single-board computer OS images with custom software. With Docker for Mac it was easy to test local builds, would be nice to have this feature back. Thanks! |
Got bitten by this regression this morning. As everyone here attests, the previous version worked just fine; then the upgrade came... Had I known, I wouldn't have upgraded. Would've been nice to see this mentioned here; or whereever major changes are communicated. And, yes: this needs to be fixed ASAP! Thanks for the links to the previous version. I managed to find them on a second, apparently more thorough, attempt. ;^) |
I looked the old build number up in the homebrew cask repository. Cask doesn't offer a downgrade-option either, but offers a history: Homebrew/homebrew-cask@92be423 This link leads to the previous version: https://download.docker.com/mac/stable/43884/Docker.dmg |
I've re-enabled the device mapper module in this build: https://desktop-stage.docker.com/mac/stable/45487/Docker.dmg . If you could try it and let me know if it works, that would be very helpful. If it doesn't work, could you provide a simple repro case that demonstrates the problem? For example this works, but it's quite a minimal test:
|
@djs55 Hey David! Many thanks! I did try it just now and it worked perfectly! As my pi-gen build tools are based on a heavily modified qcow2 (qemu-nbd) mechanism I would have noticed it right from the start, if something would not have worked as expected :-) I'll be using this build for now 👍 ! Great! |
The fix has now been released in Docker Desktop Stable 2.3.0.3, I’ll go ahead and close this issue. |
I am still getting an error after upgrading to 2.3.0.3 and rebooting my Mac. Running OS 10.15.4. Reverting to 2.2.0.5 fixes the issue but I would prefer to be running the latest stable build of Docker. |
I can confirm that 2.3.0.3 does NOT work. I wasn't able to test https://desktop-stage.docker.com/mac/stable/45487/Docker.dmg Downgrading back to 2.2.0.5 to get work done also caused a "Settings error": |
@djs55 On closer inspection, a vanilla linear mapping does work. $ docker run --rm -it --privileged alpine
/ # apk add cryptsetup
[...]
/ # dd of=img bs=64k count=0 seek=1k
[...]
/ # cryptsetup -vd /bin/ls luksFormat img
[...]
/ # cryptsetup -vd /bin/ls luksOpen img yay
device-mapper: reload ioctl on failed: Invalid argument
Command failed with code -1 (wrong or missing parameters). |
Here is a snippet from my docker-compose file. It's as simple as it gets and I confirmed that I do need the devices listed to make certain apps work. As usual, the gold standard is Linux host where everything runs out of the box. But my Mac was working pretty well up until the update. The error I get with Docker post 2.2.0.5 is that /dev/mapper/control is not found. Let me know if I can provide any additional info. ... |
@ALL - just to make my "It works for me!" statement clear: I need to use "modprobe nbd" from within the running container (to use qemu-nbd and kpartx) which worked flawlessly for my needs with the new testbuild - did not try 2.3.0.3 though. My mechanism also uses loopback devices for image mounting. I cannot comment on any other way of using the devicemapper. |
This is fixed in the latest Edge release, 2.3.2.0. |
Closed issues are locked after 30 days of inactivity. If you have found a problem that seems similar to this, please open a new issue. Send feedback to Docker Community Slack channels #docker-for-mac or #docker-for-windows. |
Hi!
Using /dev/mapper/control under Linux (Debian Buster standard image) gives following error:
root@3d0b7c16263b:/tmp# kpartx -a /dev/nbd0 /dev/mapper/control: open failed: No such device Failure to communicate with kernel device-mapper driver. Check that device-mapper is available in the kernel. Incompatible libdevmapper 1.02.155 (2018-12-18) and kernel driver (unknown version). device mapper prerequisites not met
root@3d0b7c16263b:/tmp# cat /dev/mapper/control cat: /dev/mapper/control: No such device
Even though the device file is there, it is not accessible or whatever. At least you get the forementioned error.
This does NOT happen using the same Dockerfile under Docker Desktop 2.2.0.5, so I have to downgrade Docker Desktop for now.
System is Mac OS Catalina 10.15.4.
Regards,
Holger
The text was updated successfully, but these errors were encountered: