top | item 11722185

Improving Docker with Unikernels: Introducing HyperKit, VPNKit and DataKit

292 points| samber | 10 years ago |blog.docker.com | reply

37 comments

order
[+] kevinmgranger|10 years ago|reply
docker's go-9p now makes for the 3rd implementation of 9p in go:

docker/go-9p https://github.com/docker/go-p9p

rminnich/ninep: https://github.com/rminnich/ninep

rminnich/go9p: https://github.com/rminnich/go9p

There's also the Andrey Mirtchovski and Latchesar Ionkov implementation of go9p, but all I can find is a dead Google Code link from here: http://9p.cat-v.org/implementations

[+] justincormack|10 years ago|reply
We did try the other implementations first, but had a lot of issues doing what we wanted with them.
[+] pjmlp|10 years ago|reply
With lots of OCaml love it seems, from a quick glance through the source repositories.
[+] microtonal|10 years ago|reply
And Mirage. This release is really awesome:

- It puts Mirage in use in real production systems.

- It strengthens the ecosystem around Hypervisor.framework. After xhyve and Veertu, this is really nice. So much for the meme that newer OS X versions only integrate iOS features.

[+] geodel|10 years ago|reply
> ...steering committee chair of the Commercial Uses of Functional Programming conference

From Anil's profile on blog and considering he is founder of MirageOS written in OCaml, it would be surprising if it were anything else than OCaml.

[+] tachion|10 years ago|reply
I wonder if we'll see a move towards getting Docker working on FreeBSD using either Jails or bhyve finally, since it talks about using bhyve hypervisor... That would be really great.
[+] kordless|10 years ago|reply
Seems like only a year ago Docker changed how it used Virtualbox to boot VMs using machine (and caused me endless amounts of suffering trying to figure out how to fix it). Now it would seem they are getting rid of Virtualbox entirely with their own VM...which needs contributions.
[+] microtonal|10 years ago|reply
getting rid of Virtualbox entirely with their own VM...

Not really. This builds heavily upon Hypervisor.framework, which is included in new OS X versions. Hypervisor.framework is pretty cool, because it allows for building VM applications that are sandboxed and don't require kernel modules. As a result, Hypervisor.framework applications can even be distributed via the App Store (see e.g. Veertu).

[+] rhinoceraptor|10 years ago|reply
I'm running the new beta native Docker for Mac, it is really nice. You install from the DMG, enter your password, and you're done.

No more running 'eval $(docker-machine env dev)', no more having to delete the VM and rebuild it, etc.

[+] amackera|10 years ago|reply
Docker is still pretty bleeding edge, and was never designed to work with Mac OS X or Windows from the get-go.

The fact that the proposed experience for OS X and Windows is so good is a testament to how hard the community and the Docker team have been working! It's natural that there would be some growing pains.

[+] avita1|10 years ago|reply
My understanding is not great, but it looks like they're bypassing a host VM entirely and using a shim (HyperKit) to talk to whatever virtualization the underlying OS supplies.
[+] chuhnk|10 years ago|reply
Very interesting work. I find go-9p quite fascinating and think it could really have broader applications. Docker if you see this, I actually think you're on to something for microservice development thats native to the docker world. I've been trying to come up with ways of replicating the unix philosophy around programs that do one thing well and the use of pipes but was always limited in my thinking in terms of http, json, etc, etc.

My advice, as a guy who's currently building something in the microservice space, explore this further. Spend some time building fit for purpose apps with this and see where it goes.