[Distutils] zc.buildout & Docker container images

Jim Fulton jim at zope.com
Sun Jun 29 16:29:28 CEST 2014


On Sun, Jun 29, 2014 at 12:40 AM, Nick Coghlan <ncoghlan at gmail.com> wrote:
> Hey all (but especially the zc.buildout users),
>
> With zc.buildout being used to define repeatable application
> deployments, and Docker images acting as a way to snapshot entire
> execution environments for ease of deployment on any environment than
> can run a container (which is basically any modern Linux at this
> point, or will be once CentOS 7 is available), has any experimented
> with using zc.buildout from a Dockerfile to define an image?

Yes.

> If yes, is it written up anywhere?

No. :)

A challenge for us has been that our apps typically register themselves
with ZooKeeper and, until recently, this has been really awkward
with Docker. Now that you can share host networking with containers,
I look forward to making more use of Docker in the future.

For now, we've packaged a number of legacy applications,
including svn.zope.org, as docker containers.

> If not, is anyone intrigued enough by the idea to considering trying
> it out and writing up the results as a blog post somewhere?

Absolutely, although I'm not sure when.

In some ways, docker potentially reduces the need for tools
like buildout and virtualenv to provide isolation. With a docker
image, you don't share the system Python with other apps, so
it's not as problematic to use it.

You also don't need tools to automate deployment of production
configurations when an application is deployed, as this is mostly done
when building an image.  The isolation provided by docker containers
also allows configuration to be simpler. There's still benefit of having
a system like buildout with Python recipes to automate assembly
(often including non-python bits like JavaScript libraries) and
configuration.

Jim

-- 
Jim Fulton
http://www.linkedin.com/in/jimfulton


More information about the Distutils-SIG mailing list