All Projects → scientificlinux → sl-docker

scientificlinux / sl-docker

Licence: other
Scientific Linux Docker images

Programming Languages

shell
77523 projects

Dockerfiles

sl-logo

This repository provides Dockerfiles for Scientific Linux on docker hub.

Each release is in its own branch and contains the kickstart used to build the image.

These images are maintained by the Scientific Linux Team in github.

Container Tags

A tag will be provided for each of the maintained major releases of Scientific Linux (6, 7).

The latest tag will track the highest version numbered release of Scientific Linux.

Updated images will be released roughly once per month.

Build Logs

The root filesystem for these docker images is built on our internal build system and packaged at Docker Cloud.

Getting Help

Docker, overlayfs, and yum

Recent Docker versions support the overlayfs backend, which is enabled by default on most distros supporting it from Docker 1.13 onwards. On SL 6 and 7, that backend requires yum-plugin-ovl to be installed and enabled, which it is in our containers. Make it sure you retain the plugins=1 option in /etc/yum.conf if you update that file; otherwise, you may encounter errors related to rpmdb checksum failure - see Docker ticket 10180 for more details.

Package docs and licence files

By default the SL docker images do not include these files. If you require them, please remove tsflags=nodocs from /etc/yum.conf and run yum reinstall mypackage to recieve the documentation.


Quick Reference

Example Usage

You can try out the containers via:

$ docker pull scientificlinux/sl
$ docker run -it scientificlinux/sl:6 cat /etc/redhat-release
$ docker run -it scientificlinux/sl:7 cat /etc/redhat-release

Enabling systemd in SL7

The SL7 docker container ships with systemd mostly functional. You can build a SL7 systemd enabled container with the following Dockerfile

In order to run a container with systemd, you will need to mount the cgroups volumes from the host.

# Example SL7 systemd Dockerfile
FROM sl:7
ENV container docker
### This example enables httpd via systemd within the container
RUN yum -y install httpd && yum clean all && systemctl enable httpd.service
EXPOSE 80
### End of example commands for httpd via systemd
VOLUME [ "/sys/fs/cgroup" ]
CMD ["/usr/sbin/init"]

You can build and run this example (with apache) via:

$ docker build --rm -t local/mycontainer your/path
$ docker run -ti -v /sys/fs/cgroup:/sys/fs/cgroup:ro -p 80:80 local/mycontainer

Which will run systemd within the container in a limited context.

It is recommended that you install any relevant OCI hooks for your container host - such as oci-register-machine or oci-systemd-hook.

Some container hosts must add --tmpfs /run to the docker run command.


About Scientific Linux

Scientific Linux is a Fermilab sponsored project. Our primary user base is within the High Energy and High Intensity Physics community. However, our users come from a wide variety of industries with various use cases all over the globe – and sometimes off of it!

Our Mission:

Driven by Fermilab’s scientific mission and focusing on the changing needs of experimental facilities, Scientific Linux should provide a world class environment for scientific computing needs.

Scientific Linux is a rebuild of Red Hat Enterprise Linux (property of Red Hat Inc. NYSE:RHT).

Please see About Scientific Linux and Why Make Scientific Linux for more information.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].