[CentOS-devel] CentOS Docker images

Sun Mar 16 19:30:04 UTC 2014
Chris St. Pierre <chris.a.st.pierre at gmail.com>

I've volunteered to help maintain official CentOS Docker (
https://www.docker.io/) images, and Karanbir suggested I email the list to
"thrash out what we need at the infra end to achieve these images."

Currently, there are 'centos' images available in the top-level Docker
registry namespace, but these are maintained by dotcloud.  I think we can
do better. :)

As I see it, there are two ways we can do this:

1.  Use ami-creator (https://github.com/katzj/ami-creator), or something
derived from it, to build Docker images from a kickstart file.  This is how
CentOS AMIs are currently built.

Pros: Consistent with how AMIs are usually built; Kickstart is a known
entity.

Cons: ami-creator won't actually work for us as-is; requires a full
kickstart config.

2.  Use the mkimage-yum.sh script from Docker (
https://github.com/dotcloud/docker/blob/master/contrib/mkimage-yum.sh),
customized as necessary to produce a minimal base image.

Pros: Consistent with how Docker images are usually built; we can
contribute changes to mkimage-yum.sh upstream to help other Yum-based
distros; only requires a yum config.

Cons: Requires changing a shell script to make changes to the base image,
not just a Kickstart.

Unfortunately, Docker Trusted Build (
http://blog.docker.io/2013/11/introducing-trusted-builds/) can't be used
for base images, AFAICT.

In either case, we'll need a git repo to hold the code and configs used to
build the images.  If we follow the example of the official CentOS AMIs (
http://wiki.centos.org/Cloud/AWS), it should be sufficient to provide a
reasonably up-to-date base image ("latest" or "nightly" or similar), and a
few recent dot releases.  Of course, once CentOS 7 is released we'll need
to do that for both 6 and 7, but that shouldn't be difficult if we do this
right.

Thoughts on process and/or infrastructure?

-- 
Chris St. Pierre
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.centos.org/pipermail/centos-devel/attachments/20140316/e56a5ee8/attachment-0006.html>