solo-io / unik

The Unikernel & MicroVM Compilation and Deployment Platform
Apache License 2.0
2.72k stars 191 forks source link

daemon initialization error (dmsetup on Docker for Mac) #96

Closed johannesfrey closed 8 years ago

johannesfrey commented 8 years ago

Hi,

when trying to invoke the unik deamon for bootstrapping the instance listener I get following error:

DEBU[0063] time="2016-10-19T15:45:23Z" level=error msg="dmsetup failed" out="/dev/mapper/control: open failed: No such device\nFailure to co mmunicate with kernel device-mapper driver.\nCheck that device-mapper is available in the kernel.\nCommand failed\n" DEBU[0063] time="2016-10-19T15:45:23Z" level=debug msg="running losetu p" args=[-d /dev/loop/0] cmd=losetup DEBU[0063] time="2016-10-19T15:45:23Z" level=fatal msg="exit status 1"

ERRO[0063] running daemon failed: [cmd/daemon.go:86] daemon failed to initialize: {[daemon/daemon.go:106] initializing virtualbox provider: {[virtualbox/virtualbox_provider.go:49] deploying virtualbox instance listener: {[virtualbox/deploy_instance_listener.go:39] compiling instance listener source to unikernel: {[rump/rump-go.go:52] creating boot volume from kernel binary: {exit status 1}}}}}

This seems more or less directly related to Docker for Mac but should/could probably be mentioned here explicitly in order to prevent other users running into this.

Docker seem to have dropped support for device-mapper: https://github.com/docker/docker/issues/26116 because of which the bootstrapping fails.

The quickest workaround is to not use Docker for Mac and instead use the regular Docker Toolbox for Mac. If the code here relies on the device-mapper commands there probably should be a note in the docs about not using Docker for Mac for now.

ilackarms commented 8 years ago

Yeah, this issue has been raised before. I'll throw something into the docs now.

yuval-k commented 8 years ago

Docker for mac is now supported