Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
Getting to Docker 1.0 (docker.io)
139 points by julien421 on Aug 8, 2013 | hide | past | favorite | 38 comments


I'd like to see a "docker for web developers" post / guide.

I want to know how to write a dockerfile (?) that I can run a command against, and have a dev environment materialize. Something I can track in source control along with my "main" source. Something to replace the difficult-to-recreate and outside-of-source-control LAMP and Flask environments I have now.

And I'd like to know how my sites' source code or untracked files (e.g. .sqlite file, mongo dump files) fall into that, while still being accessible to the docker container.

I imagine this would cover a huge percentage of people interested in Docker.


Here's (https://github.com/frio/cloud9-dockerfile) something vaguely along those lines -- a basic popup IDE using Cloud9. It's not a complete solution (and probably never will be) but it made me happy :).

You can run it with:

    git clone https://github.com/frio/cloud9-dockerfile
    cd cloud9-dockerfile
    docker build -t "yourname/cloud9" ./
    docker run yourname/cloud9 -e PROJECT=git@github.com:your/project
... and then opening your-ip:3131 :).


Perhaps ShipBuilder is right up your alley.

ShipBuilder is an open-source Heroku-esque PaaS which uses Go, Git, LXC, and HAProxy, with Docker support coming soon!

The Shipbuilder codebase is super easy to understand, and aims to make it fast and easy to deploy arbitrary web-applications.

Get total control over all aspects of your staging and production environments.

More info:

http://shipbuilder.io/

https://github.com/sendhub/shipbuilder


I tried out SB today and so far I am impressed...it ran my Django app with zero issues. Definitely planning on pushing my company to start using this for their deployments instead of Heroku.


Has anyone tried this other Go-based Paas? http://globocom.github.io/tsuru/


I looked at it but it seems overly complicated, I got ShipBuilder up and running in a flash


We just discovered ShipBuilder yesterday, yet already I have a very good feeling about it. We're planning on trying it out on a disposable AWS instance this weekend.


Two thoughts:

- Docker is entirely dependent on LXC at the moment, so if you're developing in anything other than Linux, it's not a good solution for creating a dev environment. They're promising to make LXC just a plugin at some point and support BSD jails, OpenVZ, and other containers, but even then I'm not sure there will be an answer for OSX users.

- You can do just what you describe above with a Vagrantfile. It works cross platform already.


OSX supports `chroot` which could be a target on OSX.


Agreed, most of the tutorials I've seen so far have been along the lines of frio's answer -- ie you pull someone else's pre-build docker image (or docker file) and use that.


I feel like I've already linked to my blog too much, but please take a look at http://nick.stinemat.es . I go through setting up Docker, to building my apps with Docker, to running a huge site on Docker.

If you're looking for more content, I'll be happy to provide it.


Don't feel bad about linking to your blog -- even with the few posts it has, it was an invaluable resource in helping me get started with Docker.

Please keep writing!


tryrethink.info and my blog are both flask apps. The one thing I haven't written about is databases/persistent storage in containers (as the tryrethink sites are ephemeral)

Would this be helpful?


Stating a roadmap is never easy, but hugely important for keeping the Docker team accountable. I believe that getting to a 1.0 release with the same fervor from the community will be a great indicator of future viability and success. That sets a pretty high bar.


No question it's a high bar. Then again, I would have never predicted the rate at which Docker has matured already. Color me optimistic.


We are pretty much forced to set this high bar because of the rate at which organizations large and small are adopting Docker. We will do everything we can to live up to the expectations!


"August 7: Introduce this new architectural approach to the community, and provide a developer preview"

Where can we find this?


Sorry--typo on my part (since corrected). We introduced the approach today, and will make the developer preview available on August 15.


With a stable API it would be nice to have an API client for Windows for developers building software on that platform but deploying to Linux.

It would be great to be able to do a docker import from a checked out codebase in Windows.


Have you seen docker-py[1]? Bindings for other languages also exist, but the main theme is that the docker host can be controlled (if configured that way) by external machines.

1: http://www.github.com/dotcloud/docker-py


Yes. The core engine will build and run on all platforms supported by Go, including OSX and Windows.


Important news for Docker developers. Please let us know what you think.


It's unfortunate that it requires a 3.8 kernel, as getting those to work on most machines has been in my experience rather difficult. I had to downgrade back to 3.2 on a Ubuntu server because it wouldn't boot with 3.8. I was able to get it to work on a DigitalOcean fresh VM, but unless I want to migrate everything to a fresh VM, which I don't, I don't see myself using it for a while.


Broader compatibility (including reducing kernel dependency) is a major part of this push. There are a number of workarounds today (e.g. patching the kernel, deploying as VM) which are discussed on http://www.docker.io/gettingstarted/ But, obviously, such workarounds aren't practical in every environment.


Just an FYI - tryrethink.info and my blog (nick.stinemat.es) are both running on 3.2.0-48. While it is not the recommended configuration, I haven't had any kernel related issues.


FYI - memcachedasaservice.com:

  ubuntu:~$ uname -a
  Linux ip-10-85-147-7 3.2.0-36-virtual #57-Ubuntu SMP Tue Jan 8 22:04:49 UTC 2013 x86_64 x86_64 x86_64 GNU/Linux
  ubuntu:~$ lsb_release -a
  No LSB modules are available.
  Distributor ID:	Ubuntu
  Description:	Ubuntu 12.04.1 LTS
  Release:	12.04
  Codename:	precise
Pretty stable so far (200 docker containers running on the box)


Sounds like your problem is not with the 3.8+ kernel but with your choice of distributions that do not support it properly.


Given that Docker currently requires AUFS, Ubuntu is the distro of choice, so it's a problem.


Aufs works fine on Debian as well?


Great plan !

Anybody knows if making docker run natively on Windows is possible ? (is there any sort of LXC like feature in Windows ?)


If this was going to be possible with Windows, it would have to be done by Redmond. And given that they'd be out of a Windows license by allowing containers w/in Windows (as opposed to VMs), I doubt that will happen.

Unless you're talking about running this as a Linux VM on a Windows host, in which case, sure - why not?


Maybe somebody can bring CoLinux up to 3.8. http://www.colinux.org/?section=status


Well, you can run a Linux VM. Windows doesn't support anything like BSD jails or LXC right now.


why? the less windows severs out there, the better.


I would love to see an ARM port of Docker (LXC supports ARM).


We definitely want to see this too, and it is something being investigated for post- 0.8. In the meantime, you may want to read http://kencochrane.net/blog/2013/05/running-docker-on-a-rasp...


little off topic. can someone of the Docker team comment on what its been like to work with GoLang on a big project like Docker?


You should start contributing[1] and let us know :). More seriously, it's a great topic for the mailing list and I encourage you to post it.

1: http://github.com/dotcloud/docker




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

Search: