Public Repository

Last pushed: a year ago
Short Description
This is a minimal server installation of 32-bit user land Centos 4.9
Full Description

Note that 4.9 was never released as ISOs, so you have to yum update from 4.8 to get there. Consume the readme for 4.9 to grok this better.

I started with the 4.8 ISO by torrenting: and then carefully comparing the sha1 and md5.

Then I installed 4.8 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).

Then, my Dockerfile edits the yum repo using 2k0ri's recipe and then runs a yum update.

Finally, because that's not very compact (since yum update touches nearly every file in the system, doubling the size of the container and basically wasting the benefit of being based on 4.8 in terms of space), I did a docker export followed by a docker import to get the resulting container pushed here.

The reason for all this is that I needed a compact Centos 4.9 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.9 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. :)

Also, this image has wget and 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.

Docker Pull Command

Comments (2)
7 days ago

Answering my own question: the error exists because I was running a non-selinux distro under a selinux host... I've run the build under ubuntu with no errors at all.

a year ago

Hi, I tried your image but when I try to install a package I get:

Running Transaction
Installing: openldap-servers ######################### [1/1]
error: unpacking of archive failed on file /etc/openldap/schema: cpio: lsetfilecon

How can I overcome this error