Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Why do people value that so much? I really don't care if a tiny VMis running in the background. Also, running that VM gives me more confidence that it will also run on the production machine (since they use the same kernel and the same docker version).

The only problem I had with docker was that I did not use to support shared volumes that are outside the home folder on Mac (I think they changed that now, but I'm not sure).



Author here.

There is still a tiny VM running. This one happens to be the Native OS X Hypervisor Framework. From the docs:

> Hypervisor (Hypervisor.framework). The Hypervisor framework allows virtualization vendors to build virtualization solutions on top of OS X without needing to deploy third-party kernel extensions (KEXTs). Included is a lightweight hypervisor that enables virtualization of the host CPUs.

https://developer.apple.com/library/mac/releasenotes/MacOSX/...

I've had a great run with VirtualBox, between Vagrant and Docker Machine. But I can't lie, I won't miss its installer, uninstaller, OS X kernel extensions, questionable network file sharing, and more. Removing a big blob of software between me and my virtualization-ready CPU is progress.

Then Docker for Mac is the one-two punch. Simpler virtualization, extremely rich containerization.


If you want to run services in docker containers with Docker Toolbox (e.g. a mysql db), and you want the db stored on the Mac host, then you have to worry about 2 layers of folder mounts (one from host -> vm, one from vm -> container), another 2 layers of port forwarding (same as above), to make it 'feel' like your're running mysql locally.

With the beta, all of that is taken care for you with a couple of settings, and it's just much simpler to get up and running.


Even boot2docker (docker machines predecessor) could do that. It shared the folders correctly and managed port forwarding. Of course localhost stop working but I just added the ip in /etc/hosts and enter docker.local instead (the docks say the IP might change but that's never happened to me).


> It shared the folders correctly

Except on Mac, where it sometimes doesn't. Have you not run into permissions issues? Or having a file-watcher process running in the container not being triggered by changes from the host? There are a tonne of quirks that came with boot2docker. It was worth it, of course, but they were still there; and this app is specifically aiming to address them.


That's still the case with docker for Mac. Swapping xhyve for virtualbox doesn't eliminate the port forwarding or device mounting.


Docker For Mac also does some other cool things, for instance exposed container ports are available at the address `docker.local`. Solutions to help deal with filesystem permission mis-matches, filesystem notifications, and VPN compatibility (all of which are things VirtualBox struggles with) are also being baked in.


It does in the latest update. Just run "pinata set native/port-forwarding true" and your docker containers will be accessible via localhost. Previously this only worked with the VPN compatibility mode, but it's available on its own now.

I also recommend running "pinata set network nat".


VirtualBox and VMWare are hardly "tiny." I've never had a good experience with VirtualBox on any platform. Thing is constantly broken and endlessly updated to break in newer, less Google-able ways and just causes never-ending grief in unexpected places for me.


By contrast, I've never once had an issue with VirtualBox. Vagrant and VirtualBox are my best buddies.


I know who I'm inviting to Vegas next trip. Assuming you haven't used up all your luck. https://www.virtualbox.org/wiki/Changelog


For extra fun, use a Windows Insider Preview. VirtualBox was broken on every single update, I think until 5.0.17.


Just tried 5.0.18, still broken.


I've had some problems with Virtualbox but I was able to overcome them. I'm sure that using Docker will be much the same.


Running a VM means you have to allocate X amount of RAM regardless if how much is actually needed by the containerized processes.


You're still running a VM with this, just via xhyve and the OSX Hypervisor framework, rather than via Virtualbox or VMWare.

Which actually makes me wonder how they're managing memory for the VM hosting Docker here. Are they specifying a set fixed allocation? Is memory usage configurable somewhere?


Not quite configurable yet, but it appears that's the intention. (I wouldn't be surprised if they'll try to make that a bit more dynamic, if the hypervisor framework allows it.)

https://twitter.com/jdub/status/724724422574104576


Not necessarily, if I allocate 8GB to a VM, my systems still runs smoothly even when I'm already using 10GB (I have 16GB). One problem is that the VM won't clean up the RAM properly but the swap can handle that quite nicely actually. And I never utilize 16GB of ram, 8 would be more then enough for me and ram is really cheap these days (even on macs).


You must not run more than 1 chrome tab....


2 windows with 20-40 tabs each. Doesn't take up that much ram (less then 2GB). I never have more then 2 Windows of any application (e.g. Only 2 terminal Windows) because it breaks the shortcut to get to the previous window


You're still running a VM with Docker for Mac/Windows. It's just beautifully integrated and focused on the use case.


OK, my bad. For some reason I thought this was more tightly integrated, akin to being native containers.


Nope, VMs are demand paged like any other process.




Consider applying for YC's Winter 2026 batch! Applications are open till Nov 10

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: