Just to clarify on the OSX support: obviously we did not magically get Darwin to support linux containers. But we put together the easiest possible way to run Linux containers on a Mac without depending on another machine. We do this by combining (1) docker in "client mode", which connects to (2) a super-lightweight linux VM using boot2docker. The details are on http://docs.docker.io/en/latest/installation/mac/
I've followed and refollowed those steps on OS X 10.9.1, but this is what happens: » docker version Client version: 0.8.0 Go version (client): go1.2 Git commit (client): cc3a8c8 2014/02/05 23:10:55 unexpected EOF Yet the docker server is definitely up: docker@boot2docker:~$ docker version Client version: 0.8.0 Go version (client): go1.2 Git commit (client): cc3a8c8 Server version: 0.8.0 Git commit (server): cc3a8c8 G…
Docker 0.8: Quality, new builder features, btrfs, OSX support
81–90 of 128 posts
Re: Docker 0.8: Quality, new builder features, btrfs, OSX support
#82Earlier quoted context omitted.
I've followed and refollowed those steps on OS X 10.9.1, but this is what happens: » docker version Client version: 0.8.0 Go version (client): go1.2 Git commit (client): cc3a8c8 2014/02/05 23:10:55 unexpected EOF Yet the docker server is definitely up: docker@boot2docker:~$ docker version Client version: 0.8.0 Go version (client): go1.2 Git commit (client): cc3a8c8 Server version: 0.8.0 Git commit (server): cc3a8c8 G…
Hey, thanks for the report! We're tracking that issue on https://github.com/dotcloud/docker/issues/3952 and are working with the boot2docker folks to get a fix out asap.
Re: Docker 0.8: Quality, new builder features, btrfs, OSX support
#83Earlier quoted context omitted.
Personally, when I read "OSX support", I thought that meant that there would now be containers with Darwin-ABI binaries inside them. So on Linux, you'd use cgroups for Linux-ABI binaries and a VM for Darwin-ABI, just as on OSX you use a VM for Linux-ABI (and presumably would use the OSX sandbox API for Darwin-ABI containers.) This "native sandboxing for own-ABI if available, VM if not, and VM for everything else" app…
Going that way would dilute Docker's value. Docker's promise is that you can build a container and it will always work; it won't mysteriously break in production or giving you installation headaches. To do that, your development environment has to be as close to the production environment as possible. Having a totally different ABI doesn't help with that goal.
Longer term we do need to support multiple ABIs, if only because a lot of people want to use Docker on x86-32 and ARM. Having ELF binaries built on Linux isn't of much help if they're built for another arch :) So at the very least we will need to support 3 ABIs in the near future.
The good news is that it can be done in a way which doesn't hurt the repeatability of Docker's execution environment. Think of it this way: every container has certain requirements to run. At the very least it needs a certain range of kernels and archs (and yes it's possible, although uncommon for a binary to support multiple archs). It may also require a network interface to bind a socket on a certain TCP port. It may require certain syscalls to be authorized. It may require the ability to create a tun/tap device. And so on.
Docker's job is to offer a portable abstraction for these requirements, so that the container can list what it needs on the one hand, the host can list what it offers on the other, and docker can match them in the middle. If the requirements listed by a given container aren't met ("I need CAP_SYSADMIN on a 3.8 linux kernel and an ARM processor!") then docker returns an error and a clear error message. If they are met, the container is executed and must always be repeatable.
TLDR: ABI requirements are just one kind of requirements. Docker can handle multiple requirements without breaking the repeatability of its execution environment.
Re: Docker 0.8: Quality, new builder features, btrfs, OSX support
#84Earlier quoted context omitted.
We've tried to be plainly open that going the 'open core' route is in no ones best interest. Swappable storage engines will be easier to create over time, not less. There's also a ZFS branch, but the reality is people spent time and resources on getting BTRFS (which has been experimental for >6mos) instead of ZFS. Docker development works a lot like Linux development (just on a much, much smaller scale.) If there's a…
Gurjeet is on it. Edit - docker's great. if I were an investor, how would you guys monetize it? prof svcs, support? I could see folks paying for a dashboard, cloud controller w/ api and an easy-to-deploy openstack-like setup.
Basically - investing more in open source, investing in the docker platform, investing in commercial capabilities
So as you can imagine, we're meeting with a ton of companies and hiring really good people who want to be part of something pretty amazing.
Re: Docker 0.8: Quality, new builder features, btrfs, OSX support
#85Earlier quoted context omitted.
Or even bare metal. Personally, I extract the kernel and initrd and use it directly via PXE.
Is that to say that you.. wait, what are you doing?
LABEL boot2docker
MENU LABEL boot2docker v0.5.2
KERNEL boot2docker/v0.5.2/vmlinuz64
APPEND initrd=boot2docker/v0.5.2/initrd.img loglevel=3 user=dockerRe: Docker 0.8: Quality, new builder features, btrfs, OSX support
#86Earlier quoted context omitted.
Hi Matt, you are not alone :) It turns out that shared folders are not a sustainable solution (independently of whether boot2docker supports them), so the best practices are converging towards this: 1) While developing, your dev environment (including the source code and method for fetching it) should live in a container. This container could be as simple as a shell box with git and ssh installed, where you keep a te…
Thanks for taking the time to write this. I've hit a major wall in figuring out the best workflow for this exact scenario. Good to finally hear an official suggestion on the matter. I've been depending on shared directories, so I'll definitely be experimenting with network filesystems. As Docker evolves, it would be great to have some kind of official resource to get suggestions for optimal workflows as new features…
Yes! We are trying to figure this out. Our current avenue for this is to dedicate a new section in the docs to use cases and best practices.
As you point out, our docs (and written content in general) are often inaccurate. We need to fix this. Hopefully in the coming weeks you will start seeing notable improvements in these areas.
Thanks for bearing with us!
Re: Docker 0.8: Quality, new builder features, btrfs, OSX support
#87Is Docker a good way to bring more security on a server with a few different websites? Separating the sites from each other and run nginx as a proxy in front of them? What's the overhead?
Unfortunately Docker prevents hosting environments from employing some of the most potent security mitigations added to Linux recently. You cannot treat a docker container like a virtual machine – code running in the container has almost unfettered access to the parent kernel, and the millions of lines of often-buggy C that involves. For example with the right kernel configuration, this approach leaves the parent mac…
Re: Docker 0.8: Quality, new builder features, btrfs, OSX support
#88IMO, it would be fantastic if there was something like Docker for Windows. Imagine being able to bundle up games in individual containers and easily being able to move them from machine to machine as you upgrade. Same thing applies for other Windows apps.
Re: Docker 0.8: Quality, new builder features, btrfs, OSX support
#89Earlier quoted context omitted.
Unfortunately Docker prevents hosting environments from employing some of the most potent security mitigations added to Linux recently. You cannot treat a docker container like a virtual machine – code running in the container has almost unfettered access to the parent kernel, and the millions of lines of often-buggy C that involves. For example with the right kernel configuration, this approach leaves the parent mac…
> Unfortunately Docker prevents hosting environments from employing some of the most potent security mitigations added to Linux recently. You list various facts that are mostly correct, but your conclusion is wrong. Docker absolutely does not reduce the range of security mitigations available to you. Your mistake is to present docker as an alternative to those security mitigations. It's not an alternative - it presen…
In the default configuration (and according to all docs I've seen), regardless of some imagined rosy future, today docker is a wrapper around Linux containers, and Linux containers today are a very poor general purpose security solution, especially for the kind of person who needs to ask the question in the first place (see also: the comment I was originally replying to)
Re: Docker 0.8: Quality, new builder features, btrfs, OSX support
#90Earlier quoted context omitted.
Are you sure it isn't caused by the mid-2010 macbook video card bug? I had it re-exposed when i upgraded past 10.6 and that laptop now reboots 8 times a day. Mostly from mac mail or when the power drops and it shifts video cards.
FWIW, I had my 2010 mbp motherboard warranty-replaced and the crashes were gone.