Live data from Hacker News

Docker for Mac and Windows Beta

blog.docker.com

131–140 of 250 posts

Re: Docker for Mac and Windows Beta

#131
post #98
post #97

Earlier quoted context omitted.

Thanks for exposing me to ThinApp and the rest. I took a quick look, these are Microsoft based technologies designed to run Windows apps, however conceptually I don't see much difference. Docker is a containerization standard that relies on various Linux capabilities to isolate application runtimes (or containers if you will). On Mac and Linux it used to be achieved by running a small Linux VM in VirtualBox, but look…

When I search for xhyve it returns a project for OS X, it would be interesting to know the specific Windows technologies also.

As mentioned in the linked blog post, they're using Hyper-V as their hypervisor on Windows (it's a direct counterpart to xhyve on OSX, except entirely built into the OS).

The Docker for Mac and Windows beta does not use VirtualBox on either platform.

Re: Docker for Mac and Windows Beta

#133
post #54

Can someone explain in simple terms how Docker for Windows is different from Application Virtualization products like VMware ThinApp, Microsoft App-V, Spoon, Cameyo, etc? Also, why does it require Hyper-V activated in Windows 10? I found this: https://docs.docker.com/machine/overview/ but I don't understand if you need separate VMs for separate configurations or they have a containerization technology where you are a…

Docker uses LXC containers. In Linux, these aren't VMs and are light weight user-land separations that use things like cgroups and lots of really special kernel modules for security.

Unfortunately, this means Docker only runs on Linux .. not even Linux...special Docker Kernel Linux (all the features they need are in the stock Kernel tree, but it's still a lot of modules). In Windows/Mac, you still need to run in a virtual machine.

Even with this update...you still need to run in a virtual machine. It's not actually running Docker natively. It can't, even on Mac which has a (not really) *NIX-sh base. You have to then use the docker0 network interface to connect to all your docker containers.

In Linux, you can just go to localhost. I _think_ FreeBSD has native Docker support with some custom kernel modules. I'm not sure...I've only looked at the Readme. I haven't tried it.

So even in Windows/Mac, all your containers do run in one VM (where as with traditional stuff you mentioned, you'd need a VM for each thing). Docker containers are meant to handle one application (that it runs as root within its container as the init process ... cause wtf?). With VMs, you'd typically want some type of configuration management (Puppet, Ansible, Chef, etc.) that sets up apps on each VM/server. With Docker, each app should be its own container and you link the containers together using things like Docker compose or running them on CoreOS or Mesos.

In my work with Docker, I'm not sure how I feel. LXC containers have had a lot of security issues. Right now, Docker doesn't have any blaring security holes and LXC has increased security quite a bit. CoreOS is pretty neat and I wouldn't use docker in production without it or another container manager (the docker command by itself still cannot prune unused images. After a while you get a shit ton of images that just waste space you're not using. CoreOS prunes these at regular intervals. A docker command to do this is still a Github issue. Writing one yourself with docker-py is horribly difficult because of image dependencies).

Oh and images. Docker uses images to build things up like building blocks. That's a whole thing I don't want to go into, but look it up. It's actually kind of interesting and allows for base image updates to fix security issues (although you still need to rebuild your containers against the new images ... I think...I haven't looked into that yet).

Docker is ... interesting. I find it lazy in some ways. I think it's better to build packages (rpms, debs). FPM makes this really easy now. Combine packages with a configuration management solution (haha..yea they all suck. Puppet, Ansible, CFEngine...they're different levels of horrible. Ansible so far has pissed me off the least) and you can have a pretty solid deployment system. In this sense, Docker does kinda make more sense than handling packages. You throw your containers on CoreOS/Mesos and use Consul for environment variables and you can have a pretty smooth system.

I dunno. I'm trying to actually like Docker. I've only made fun of it in the past, but now I work for a shop that uses it in production. O_o

:-P

Re: Docker for Mac and Windows Beta

#134

Earlier quoted context omitted.

If you purchase a laptop knowing that you will be running Linux and doing a little bit of research up front, it is every bit as simple as running a laptop with Windows or OS X.

Until you, say, want to print something, or run one of the bajillion pieces of useful software that aren't available for Linux.

I have actually had printing fail more frequently on Windows than on Linux. Printers are quirky.

Re: Docker for Mac and Windows Beta

#135
post #74
post #54

Can someone explain in simple terms how Docker for Windows is different from Application Virtualization products like VMware ThinApp, Microsoft App-V, Spoon, Cameyo, etc? Also, why does it require Hyper-V activated in Windows 10? I found this: https://docs.docker.com/machine/overview/ but I don't understand if you need separate VMs for separate configurations or they have a containerization technology where you are a…

docker on windows requires a linux vm running on top of virtualbox.

Linux VM of course but not virtual box! Docker for Windows is built on top of Hyper-V.

Re: Docker for Mac and Windows Beta

#136

Earlier quoted context omitted.

If you purchase a laptop knowing that you will be running Linux and doing a little bit of research up front, it is every bit as simple as running a laptop with Windows or OS X.

Until you, say, want to print something, or run one of the bajillion pieces of useful software that aren't available for Linux.

Well, for that, obviously you have to also buy a printer.

Re: Docker for Mac and Windows Beta

#137
Interesting to see that at least one of the Mirage unikernel hackers (avsm) has been working on this.

https://news.ycombinator.com/item?id=11352594

I imagine a lot of this work will also be useful for developers wanting to test all sorts of unikernels on their Mac and Windows machines.

Re: Docker for Mac and Windows Beta

#138
post #98

Earlier quoted context omitted.

When I search for xhyve it returns a project for OS X, it would be interesting to know the specific Windows technologies also.

As mentioned in the linked blog post, they're using Hyper-V as their hypervisor on Windows (it's a direct counterpart to xhyve on OSX, except entirely built into the OS). The Docker for Mac and Windows beta does not use VirtualBox on either platform.

My original question was if you need to run a separate VM for every Docker configuration or you can run different application versions at the same time. For example, running Outlook 2010, 2013, and 2016 side by side.

Re: Docker for Mac and Windows Beta

#140
post #40

This is an amazing announcement, but... The beta requires a NDA. The source code is also not available. This gives the impression that this will be a closed commercial product and that really takes the wind out of my sails.

Why? Great products are worth paying for.

Expecting open source doesn't mean I wouldn't pay for it. I co-founded a company that is fully open source, so I do understand that money needs to exchange hands to keep this industry flowing. I just believe in freely sharing ideas.
Post reply on HN