Announcing Docker 1.1.0
blog.docker.com
blog.docker.com
In general backwards compatibility is a big deal in the Docker project - breaking changes are taken very seriously and we try to avoid them as much as humanly possible. That applies to the container image format, Dockerfile format, remote API and command-line interface. It's also important to preserve portability across drivers. For example different storage drivers (aufs, btrfs, devicemapper etc) don't affect the format of the images they produce.
Example in point: Spoon Studio, a very Windowsy application that does, on Windows, something not at all unlike what LXC does [1]. It allows you to add one layer of filesystem (just one, so no commits) over the host OS's filesystem and then run applications inside there, contained very much like how processes are contained inside Docker containers.
If this is possible right now (and actually these guys were around before dotcloud was even founded), then I don't see why at some point Docker couldn't come available on multiple platforms.
(but I might also completely misunderstand some fundamental thing that makes LXC/Docker completely unlike Spoon and friends)
EDIT: downvoters, if i'm a moron, please have the decency to tell me why.
Also, what does "Nowhere in 'docker run -i -t ubuntu /bin/bash' does it say something about LXC." even mean?
Docker is built upon LXC features. It needs them to work. LXC not there? It's not gonna work.
Who will run MacOSX in server farms anyway? If you're using Windows already, why not spend more for some fancy virtualization or container like products, say from VMWare?
Mono is more like a different implementation of interesting languages. If you like C#, you can use mono to write and run on Linux. If you want to write Windows programs, you won't use mono.
https://medium.com/boot2docker-lightweight-linux-for-docker/...
I think that the parent was trying to say that the docker interface is not specific to LXC, only the backend implementation is, so there is "nothing" preventing the backend from supporting other kernels that have the requisite features.
That said, the containers would be OS-specific by definition.
I agree that "from the distance" it might seem possible to run docker on top of OSX or even Windows, because, you know, it's not only about the LXC but the deltas. This is something that many non-linux people ask me "why not in OSX if it's based on..." and they are right... somehow.
I disagree because we know how different the 3 systems are and we know that they cannot come up with a standard for something as simple as CSS much less they will arrive to define a common "LXC" interface.
It is not about other kernels offering similar features, but kernels having the same common interface. As I said, it would be great, but it won't happen.
"The Docker Engine uses Linux-specific kernel features, so to run it on OS X we need to use a lightweight virtual machine (vm).
You use the OS X Docker client to control the virtualized Docker Engine to build, run, and manage Docker containers.
To make this process easier, we've designed a helper application called Boot2Docker that installs the virtual machine and runs the Docker daemon."
Anyway, boot2docker works really well nowadays. Even individual port forwarding has been eliminated by using a virtual IP address where all exposed ports are available.
Something I plugged together recently - a W3C HTML5 validator instance in a Docker container: https://github.com/magnetikonline/dockerhtml5validator proving to be really useful vs. my old method of spinning this all up in a VirtualBox instance.
it's not native, but it makes playing with docker containers from mac osx straight forward.
https://docs.docker.com/installation/ubuntulinux/
Would love to be able to move to at least the 1.0 stable.