# # Simple EOS Docker file # # Version 0.2 FROM centos:7 LABEL maintainer="Elvin Sindrilaru, esindril@cern.ch, CERN 2017" # Add extra repositories COPY eos-docker/el-7/*.repo /etc/yum.repos.d/ # Add helper scripts COPY eos-docker/image_scripts/*.sh / # Add configuration files for EOS instance COPY eos-docker/eos.sysconfig /etc/sysconfig/eos COPY eos-docker/xrd.cf.* eos-docker/krb5.conf /etc/ COPY eos-docker/fuse.eosdockertest.conf /etc/eos/fuse.eosdockertest.conf COPY eos-docker/fuse.conf /etc/eos/fuse.mount-1.conf COPY eos-docker/fuse.conf /etc/eos/fuse.mount-2.conf COPY eos-docker/fstfmd.dict /var/eos/md/ # Add configuration files for forwarding proxy server COPY eos-docker/xrootd.conf /etc/tmpfiles.d/ COPY eos-docker/xrootd-fwd-proxy.cfg /etc/xrootd/ RUN mkdir /var/tmp/eosxd-cache/ /var/tmp/eosxd-journal/ RUN adduser eos-user # Docker will aggressively cache the following command, but this is fine, since # these packages are not updated often. RUN yum -y --nogpg install \ at autoconf automake \ bzip2 \ centos-release-scl-rh cmake3 compat-libf2c-34 createrepo \ emacs \ gcc-c++ gdb git \ heimdal-server heimdal-workstation \ initscripts \ krb5-server krb5-workstation \ less libacl-devel libgfortran libtool \ nano \ parallel perl-Test-Harness python2 python2-pip python3 python3-pip \ redhat-lsb-core rpm-build \ sudo \ vim \ xauth \ yum-plugin-priorities \ && yum clean all # Install new EOS from created repo - the ADD command will reset the docker cache, # and any commands after that point will be uncached. ENV EOSREPODIR="/repo/eos" ADD cc7_xrd_testing_artifacts ${EOSREPODIR} # Special packages, must be installed un-cached. RUN createrepo ${EOSREPODIR} \ && echo -e "[eos-artifacts]\nname=EOS artifacts\nbaseurl=file://${EOSREPODIR}\ngpgcheck=0\nenabled=1\npriority=1" >> /etc/yum.repos.d/eos.repo \ && yum -y --nogpg --enablerepo=xrootd-testing --setopt="eos-depend.exclude=xrootd*,python2-xrootd*" install \ davix grid-hammer quarkdb \ eos-archive eos-client eos-fuse eos-fusex eos-ns-inspect eos-server eos-test eos-testkeytab \ && yum clean all # Generate a new forwardable keytab 'eos-test+' to replace the not-forwardable # one (installed by the eos-testkeytab package). # This is useful to deploy EOS on Kubernetes clusters running on CERN's Cloud # Infrastructure; you can remove these lines if you don't need one. RUN yes | xrdsssadmin -k eos-test del /etc/eos.keytab \ && yes | xrdsssadmin -u daemon -g daemon -k eos-test+ -n 1234567890123456789 add /etc/eos.keytab \ && chown daemon:daemon /etc/eos.keytab \ && chmod 400 /etc/eos.keytab ENTRYPOINT ["/bin/bash"]