Docker 1.8 released
blog.docker.com
blog.docker.com
We wrote up a demo of using volume plugins in docker 1.8 with compose here, in case people are interested: https://clusterhq.com/2015/08/04/docker-volume-plugins/
When I got back to work this week, I started setting some of this up on my work Mac, and found a release candidate for the Docker Toolbox. It looks like it's the docker, docker-machine, and docker-compose executables plus the Kitematic GUI (haven't tried that yet). Looks like a decent package.
Grumpy, off-topic digression after a week with limited Internet: please supply offline docs (Unreal), don't put a git clone command in the configure script to build them (Rust), don't require an external crate in a tutorial (random number generator for Rust), don't put a link to a CDN in your offline docs (Leap Motion SDK), don't require activation after a 2 GB download (Unity Personal). I did luck out and find a WebSocket library in the Go tutorial, which I used to grab JSON from the Leap to load into MongoDB (in a Docker container).
Grumpy, mostly on-topic digression: docker-compose doesn't work on my work Mac, and no one seems to know how to fix it:
https://github.com/docker/compose/issues/271
Haven't yet managed to rebuild it locally as suggested.
Edit: some observations after installing Docker Toolbox.
Kitematic is an Electron app (complete with a Toggle DevTools menu that covers the window with a web dev console). It doesn't tell you what it's doing, but docker-machine shows that it created a machine named default using the VirtualBox driver with the default settings.
Opening the Docker Quickstart Terminal stopped (and deleted?) the machine that Kitematic made and started a new one with the same name and settings.
I think I'd be just as happy with only the docker and docker-machine executables.
Lastly, choosing "Custom Install" in the Toolbox installer will let you de-select Kitematic, Docker Quickstart Terminal or any other parts you may not want!
I hadn't quit Kitematic by the time I started Quickstart Terminal, but Kitematic had completed the creation of its VM: docker-machine ls showed default as running, and the docker cli button at the bottom of the window opened a usable docker session in that machine.
It looks like Quickstart Terminal looks for the default VM using VBoxManage, rather than docker-machine, and hardcodes its location as /usr/local/bin. Mine's in /usr/bin, so the script failed to detect the existing machine.
I don't have time to report this now, but I'll look at filing an issue this evening.
It seems the memory issue with "docker" daemon hasn't been admitted/resolved. (See https://github.com/docker/docker/releases/tag/v1.8.0)
In all of my deployments, "docker" daemon memory keeps increasing. The worst case is 37% in a 512MB instance in Digital Ocean. Then docker daemon crashes...
That's to say, congratulate but I don't really want to upgrade ... :(
There's also been a known issue around creating lots of `docker exec` instances and those references not being released (so you can query for status later), this is also resolved.
It would be awesome if you could profile it and submit a bug report with how you are using docker and where you are seeing memory growth. Let me know how I can help so we can get this resolved.
Thanks for your feedback. I couldn't gather enough information for bug reporting (But I had few rich logs that told "docker" has invalid memory access.)
As a work-around, I use a special patch of docker-compose that helps the containers to restart automatically when "docker" daemon restarts :)
> There's also been a known issue around creating lots of `docker exec` instances and those references not being released (so you can query for status later), this is also resolved.
Woh, this seems my case, though I am not sure about "releasing" (We run "exec" and "exit"; we don't hold any "exec" for longer than 2 seconds.) I haven't seen this mentioned in changelog (FIXME). Let me try again in ticket system!
ps, you can add `reastart: always` to your compose file, and docker daemon will automatically restart those containers for you.
Regarding the `docker-compose` issue, it's described here https://github.com/docker/compose/pull/1723 . Aanand Prasad has a better PR in https://github.com/docker/compose/pull/1754 (merged).
This is a cheap shot and has no basis in the reality of how open source projects are managed and how people contribute to them.
The literally-literally most important security concern in containerland, not allowing container escapes to have host root, is not done by Docker. But `docker cp` is, built at least in part by people working for Docker-the-company (I went and looked to be sure). So you can call it a cheap shot, and that's fine, but this is something promised a long time ago and my concern is for the people who buy the hype because they don't know any better, not the people generating it and should.
Certainly, it will take time to battle-test anything, so the sooner that feature has been released, the sooner that we can get started doing the battle-testing.
It would be helpful to have a clearer roadmap for features like this.
I've been putting docker off cause of coreos rockt vs docker and the security problem.
Was looking for alternative such as MirageOS and unikernel.
Since it seems like Docker and CoreOS have settle their issue now I'm waiting on security.
I think my only complaint about Joyent is their storage and services seem to be quite a bit more expensive than with Azure or AWS.
Logging is such a big part of production deployment, and it's good to see a couple of solid options in Docker's core.