diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000000000000000000000000000000000000..d5f9dea913aeb227f4874e3d70fecb73b1c409d3 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,49 @@ +############################################################################## +# Docker image for CEPCSW +############################################################################## + +# # Instruction +# To build the docker image: +# $ docker build -t cepc/cepcsw . +# Or with CVMFS installed also +# $ docker build -t cepc/cepcsw-cvmfs . --build-args CVMFSMOD=INSIDE + +FROM centos:7 + +ARG CVMFSMOD + +# Basic +RUN yum install -y sudo +RUN sudo yum install -y redhat-lsb wget + +# Install singularity +RUN sudo yum update -y && \ + sudo yum install -y epel-release && \ + sudo yum update -y && \ + sudo yum install -y singularity + +# Install CVMFS +# Configure IHEP +# Enable /cvmfs/cepcsw.ihep.ac.cn and /cvmfs/container.ihep.ac.cn + +RUN if [ "$CVMFSMOD" = "INSIDE" ]; then \ + sudo yum install -y https://ecsft.cern.ch/dist/cvmfs/cvmfs-release/cvmfs-release-latest.noarch.rpm \ + && sudo yum install -y cvmfs \ + && sudo mkdir /etc/cvmfs/keys/ihep.ac.cn \ + && sudo curl -o /etc/cvmfs/keys/ihep.ac.cn/ihep.ac.cn.pub http://cvmfs-stratum-one.ihep.ac.cn/cvmfs/software/client_configure/ihep.ac.cn/ihep.ac.cn.pub \ + && sudo curl -o /etc/cvmfs/domain.d/ihep.ac.cn.conf http://cvmfs-stratum-one.ihep.ac.cn/cvmfs/software/client_configure/ihep.ac.cn.conf \ + && echo "CVMFS_REPOSITORIES='sft.cern.ch,cepcsw.ihep.ac.cn,container.ihep.ac.cn'" | sudo tee /etc/cvmfs/default.local \ + && echo "CVMFS_HTTP_PROXY=DIRECT" | sudo tee -a /etc/cvmfs/default.local \ + && cat /etc/cvmfs/default.local \ + && sudo mkdir -p /cvmfs/sft.cern.ch \ + && sudo mkdir -p /cvmfs/cepcsw.ihep.ac.cn \ + && sudo mkdir -p /cvmfs/container.ihep.ac.cn; \ + fi + +# START Container: +# # docker run --privileged --rm -i -t IMAGE /bin/bash +# Due to the fuse issue, following commands need to be run inside container when --privileged is specified +# $ mount -t sft.cern.ch /cvmfs/sft.cern.ch +# $ mount -t cvmfs container.ihep.ac.cn /cvmfs/container.ihep.ac.cn +# $ mount -t cvmfs cepcsw.ihep.ac.cn /cvmfs/cepcsw.ihep.ac.cn +