[CentOS] Running CentOS 6 in a Docker container on a non-CentOS host

Thu Mar 5 11:05:56 UTC 2020
Peter Kjellström <cap at nsc.liu.se>

On Wed, 4 Mar 2020 16:56:02 -0500
Alfred von Campe <alfred at von-campe.com> wrote:

> I have to support a legacy build that runs on CentOS 6.  I’m new to
> Docker and would like to use the official CentOS 6.10 image
> (https://github.com/CentOS/sig-cloud-instance-images/blob/da050e2fc6c28d8d72d8bf78c49537247b5ddf76/docker/Dockerfile
> <https://github.com/CentOS/sig-cloud-instance-images/blob/da050e2fc6c28d8d72d8bf78c49537247b5ddf76/docker/Dockerfile>)
> as a Docker container on another host (probably some flavor of
> Ubuntu), but can’t figure out how to tell Docker to find that image.
> I also need to make some specific customizations that I would like to
> distribute locally but not share with upstream.  Can somebody point
> me to some HOWTOs or tutorials?  Most Google searches return how to
> run Docker on CentOS, which is not what I’m after.

You can use singularity. The following example makes an image by
pulling from centos on dockerhub:

 singularity build c6.10.scif docker://centos:6.10

If you have an old binary, foo.x outside the container you can then:

 singularity exec ./c6.10.scif ./foo.x

None of this requires root.

More on singularity: https://sylabs.io/docs/