mirror of
https://github.com/ClusterCockpit/cc-docker.git
synced 2024-12-27 11:19:07 +01:00
52 lines
1.8 KiB
Docker
52 lines
1.8 KiB
Docker
FROM rockylinux:8
|
|
MAINTAINER Jan Eitzinger <jan.eitzinger@fau.de>
|
|
|
|
ENV SLURM_VERSION=19.05.1 \
|
|
MUNGE_UID=981 \
|
|
SLURM_UID=982 \
|
|
WORKER_UID=1000
|
|
|
|
RUN yum install https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm -y
|
|
|
|
RUN groupadd -g $MUNGE_UID munge \
|
|
&& useradd -m -c "MUNGE Uid 'N' Gid Emporium" -d /var/lib/munge -u $MUNGE_UID -g munge -s /sbin/nologin munge \
|
|
&& groupadd -g $SLURM_UID slurm \
|
|
&& useradd -m -c "Slurm workload manager" -d /var/lib/slurm -u $SLURM_UID -g slurm -s /bin/bash slurm \
|
|
&& groupadd -g $WORKER_UID worker \
|
|
&& useradd -m -c "Workflow user" -d /home/worker -u $WORKER_UID -g worker -s /bin/bash worker
|
|
|
|
RUN yum install -y munge munge-libs
|
|
RUN dnf --enablerepo=powertools install munge-devel -y
|
|
RUN yum install rng-tools -y
|
|
|
|
RUN yum install -y python3 gcc openssl openssl-devel \
|
|
pam-devel numactl numactl-devel hwloc sudo \
|
|
lua readline-devel ncurses-devel man2html \
|
|
libibmad libibumad rpm-build perl-ExtUtils-MakeMaker.noarch rpm-build make wget
|
|
|
|
RUN dnf --enablerepo=powertools install rrdtool-devel lua-devel hwloc-devel rpm-build -y
|
|
RUN dnf install mariadb-server mariadb-devel -y
|
|
RUN mkdir /usr/local/slurm-tmp
|
|
RUN cd /usr/local/slurm-tmp
|
|
RUN wget https://download.schedmd.com/slurm/slurm-22.05.6.tar.bz2
|
|
RUN rpmbuild -ta slurm-22.05.6.tar.bz2
|
|
|
|
ENV USE_SLURMDBD=true \
|
|
CLUSTER_NAME=snowflake \
|
|
CONTROL_MACHINE=controller \
|
|
SLURMCTLD_PORT=6817 \
|
|
SLURMD_PORT=6818 \
|
|
ACCOUNTING_STORAGE_HOST=database \
|
|
ACCOUNTING_STORAGE_PORT=6819 \
|
|
PARTITION_NAME=docker
|
|
|
|
COPY docker-entrypoint.sh /docker-entrypoint.sh
|
|
VOLUME ["/home", "/.secret"]
|
|
# 22: SSH
|
|
# 3306: MariaDB
|
|
# 6817: SlurmCtlD
|
|
# 6818: SlurmD
|
|
# 6819: SlurmDBD
|
|
EXPOSE 22 3306 6817 6818 6819
|
|
ENTRYPOINT ["/docker-entrypoint.sh"]
|