Dockerfile_asan 2.07 KB
Newer Older
1
2
3
#
# Simple EOS Docker file
#
4
# Version 0.1
5
6

FROM centos:7
7
MAINTAINER Fabio Luchetti faluchet@cern.ch, CERN 2019
8
9
10
11
12
13
14
15
16
17

# Add extra repositories
ADD eos-docker/*.repo /etc/yum.repos.d/

# Add helper scripts
ADD eos-docker/image_scripts/*.sh /

# Add configuration files for EOS instance
ADD eos-docker/eos.sysconfig /etc/sysconfig/eos
ADD eos-docker/xrd.cf.* eos-docker/krb5.conf /etc/
18
19
ADD eos-docker/fuse.conf /etc/eos/fuse.mount-1.conf
ADD eos-docker/fuse.conf /etc/eos/fuse.mount-2.conf
20
21
22
23
24
25
26
27
28
29
30
31
32
33
ADD eos-docker/fstfmd.dict /var/eos/md/

RUN mkdir /var/tmp/eosxd-cache/ /var/tmp/eosxd-journal/
RUN useradd 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 \
    heimdal-server heimdal-workstation \
    krb5-workstation yum-plugin-priorities \
    createrepo initscripts less nano \
    git parallel compat-libf2c-34 libgfortran \
    gdb gcc-c++ cmake3 libacl-devel perl-Test-Harness \
    rpm-build bzip2 automake autoconf libtool sudo vim \
34
    centos-release-scl-rh at
35
36
37
38
39
40
    
# 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_asan_artifacts ${EOSREPODIR}

Mihai Patrascoiu's avatar
Mihai Patrascoiu committed
41
# Special packages, must be installed un-cached.
42
RUN createrepo ${EOSREPODIR}; \
Mihai Patrascoiu's avatar
Mihai Patrascoiu committed
43
    echo -e "[eos-asan-artifacts]\nname=EOS Asan artifacts\nbaseurl=file://${EOSREPODIR}\ngpgcheck=0\nenabled=1\npriority=1" >> /etc/yum.repos.d/eos-artifacts.repo; \
44
    yum install --nogpg --disablerepo="cern*" -y eos-client eos-server eos-test eos-ns-inspect quarkdb
45
46
47

# 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.
48
49
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; \
50
51
52
    chown daemon:daemon /etc/eos.keytab

ENTRYPOINT ["/bin/bash"]