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.
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.
The root filesystem for these docker images is built on our internal build system and packaged at Docker Cloud.
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.
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.
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
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.
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.