I got the server ISO by torrenting:
http://mirror.symnds.com/distributions/CentOS-vault/4.6/isos/i386/CentOS-4.6-i386-binDVD.torrent and then carefully comparing the sha1 and md5.
Then I installed manually into an empty virtual box instance (unselecting everything), which I then unmounted after installation and before the first boot and mounted the created disk elsewhere to create the tarball (so I don't tar up /dev and /proc and .pid files from a running instance).
The reason for all this jiggery-pokey is that I needed a Centos 4.6 base image with a 32-bit userland to rescue some old software that I have which must live on this particular distribution of Centos and is unhappy otherwise. Note that because docker, I still have a 64-bit kernel, but everything else inside this container is 32-bit, and shockingly, my antique application stack works just fine, thankyouverymuch.
The ability do to this kind of crazy mashup is, for me, a key value of Docker Containers - I don't care that Centos 4.6 is old, unsupported, and grotty - I can provide all the pieces for my old app to run, and have them isolated from the modern substrate.
While both fatherlinux/centos4-base and the derivative 2k0ri/centos4-64-vault are similar to this one, each of those have a 64-bit userland, which does not help me at all. They are also slightly larger, no doubt bloated from those long 64bit pointers. :)
In this image, I have already followed 2k0ri's recipe for pointing the yum repos properly to the vault, which you will need to do to use yum to install anything at all. Because this is a 4.6 image, I pegged the version at 4.6 in the repo pointer. You're welcome.
Also, this image has
curl installed, and has version 1.7 of gosu installed as well.
If you use this container, you may want to look carefully at 2k0ri's recipe for updating bash to avoid the shellshocked bug. Or be very very careful that you never run
bash in your container.