diff --git a/cvmfs/Dockerfile b/cvmfs/Dockerfile index 85330e3f5d6f3c71509ce1b4557f485151bc073c..bf6ba1095a7168690dfe8c2b75470c511160cdd3 100644 --- a/cvmfs/Dockerfile +++ b/cvmfs/Dockerfile @@ -1,7 +1,7 @@ ## ## A container where CernVM-FS is up and running for CMSSW FROM cern/slc6-base -LABEL maintainer="Clemens Lange clemens.lange@cern.ch" +LABEL maintainer="Clemens Lange " # Build-time metadata as defined at http://label-schema.org ARG BUILD_DATE @@ -51,7 +51,7 @@ ADD run-cvmfs.sh /etc/cvmfs/run-cvmfs.sh RUN chmod uga+rx /etc/cvmfs/run-cvmfs.sh ADD etc-cvmfs-default-local /etc/cvmfs/default.local -RUN adduser cmsusr && \ +RUN groupadd -g 1000 cmsusr && adduser -u 1000 -g 1000 cmsusr && \ echo "cmsusr ALL=(ALL) NOPASSWD:ALL" > /etc/sudoers WORKDIR /home/cmsusr diff --git a/slc6-only/Dockerfile b/slc6-only/Dockerfile index 206b6c7909af9800b878192ed6c641c3cefaa932..150ecc18a56106dab3d905f9e34437b46cf4c3d6 100644 --- a/slc6-only/Dockerfile +++ b/slc6-only/Dockerfile @@ -1,7 +1,7 @@ ## ## A container where CernVM-FS is up and running for CMSSW FROM cern/slc6-base -LABEL maintainer="Clemens Lange clemens.lange@cern.ch" +LABEL maintainer="Clemens Lange " # Build-time metadata as defined at http://label-schema.org ARG BUILD_DATE @@ -30,7 +30,7 @@ RUN yum update -y && yum install -y \ yum install -y -q wget git && \ yum clean -y all -RUN adduser cmsusr && \ +RUN groupadd -g 1000 cmsusr && adduser -u 1000 -g 1000 cmsusr && \ echo "cmsusr ALL=(ALL) NOPASSWD:ALL" > /etc/sudoers WORKDIR /home/cmsusr diff --git a/standalone/Dockerfile_patch b/standalone/Dockerfile_patch index 687be907a5344af04b267a32a3f7318cd8fd6bbc..1a2d00de5bf4fb85c64a098755b7d0074f960d2b 100644 --- a/standalone/Dockerfile_patch +++ b/standalone/Dockerfile_patch @@ -1,5 +1,5 @@ FROM cern/slc6-base -MAINTAINER Clemens Lange "clemens.lange@cern.ch" +LABEL maintainer="Clemens Lange " ARG SCRAM_ARCH=slc6_amd64_gcc481 ARG CMSSW_VERSION=CMSSW_7_1_25 @@ -19,7 +19,6 @@ LABEL org.label-schema.build-date=$BUILD_DATE \ org.label-schema.version=$VERSION \ org.label-schema.schema-version="1.0" -CMD /bin/bash RUN yum install -y libXft-devel libX11-devel libXpm-devel libXext-devel mesa-libGLU-devel \ libXmu libXpm \ HEP_OSlibs_SL6 wget git \ @@ -29,11 +28,13 @@ RUN yum install -y libXft-devel libX11-devel libXpm-devel libXext-devel mesa zip e2fsprogs \ CERN-CA-certs voms-clients-cpp ca-policy-lcg \ krb5-devel cern-wrappers krb5-workstation \ - strace && \ + strace sudo && \ yum clean -y all -RUN groupadd -g 500 cmsinst && adduser -u 500 -g 500 cmsinst && install -d /opt && install -d -o cmsinst /opt/cms && \ - groupadd -g 501 cmsusr && adduser -u 501 -g 501 cmsusr +RUN groupadd -g 1000 cmsusr && adduser -u 1000 -g 1000 cmsusr && \ + echo "cmsusr ALL=(ALL) NOPASSWD:ALL" > /etc/sudoers && \ + groupadd -g 1001 cmsinst && adduser -u 1001 -g 1001 cmsinst && \ + install -d /opt && install -d -o cmsinst /opt/cms USER cmsinst WORKDIR /opt/cms @@ -52,13 +53,12 @@ USER cmsusr WORKDIR /home/cmsusr ENV CMSSW_VERSION=${CMSSW_VERSION}_${PATCH} ENV SCRAM_ARCH=${SCRAM_ARCH} -RUN echo $'source /opt/cms/cmsset_default.sh; \n\ - scramv1 project CMSSW ${CMSSW_VERSION}; \n\ - cd ${CMSSW_VERSION}/src; \n\ - eval `scramv1 runtime -sh`; \n\ - export PS1=\'[\\t] \\e[91m\\u\\e[0m@\\e[34m\\h \\e[36m\\w \\e[0m$ \'; \n\ +ADD entrypoint.sh /opt/cms/entrypoint.sh +RUN echo $'export PS1=\'[\\t] \\e[91m\\u\\e[0m@\\e[34m\\h \\e[36m\\w \\e[0m$ \'; \n\ export PROMPT=\'[%*] %F{red}%n%f@%F{blue}%m%f %F{yellow}%3~%f $ \'' \ > .bashrc; \ - cp .bashrc .zshrc; + cp .bashrc .zshrc; \ + sudo chmod 755 /opt/cms/entrypoint.sh; -# ENTRYPOINT /bin/zsh +ENTRYPOINT ["/opt/cms/entrypoint.sh"] +CMD ["/bin/zsh"] \ No newline at end of file diff --git a/standalone/Dockerfile_production b/standalone/Dockerfile_production index 85c638b6224b155cc12cdb008c45b6268b51d64b..b39d0d0c55db96d725c6898c24a90598973c4442 100644 --- a/standalone/Dockerfile_production +++ b/standalone/Dockerfile_production @@ -1,5 +1,5 @@ FROM cern/slc6-base -MAINTAINER Clemens Lange "clemens.lange@cern.ch" +LABEL maintainer="Clemens Lange " ARG SCRAM_ARCH=slc6_amd64_gcc530 ARG CMSSW_VERSION=CMSSW_9_2_1 @@ -18,7 +18,6 @@ LABEL org.label-schema.build-date=$BUILD_DATE \ org.label-schema.version=$VERSION \ org.label-schema.schema-version="1.0" -CMD /bin/bash RUN yum install -y libXft-devel libX11-devel libXpm-devel libXext-devel mesa-libGLU-devel \ libXmu libXpm \ HEP_OSlibs_SL6 wget git \ @@ -28,11 +27,13 @@ RUN yum install -y libXft-devel libX11-devel libXpm-devel libXext-devel mesa zip e2fsprogs \ CERN-CA-certs voms-clients-cpp ca-policy-lcg \ krb5-devel cern-wrappers krb5-workstation \ - strace && \ + strace sudo && \ yum clean -y all -RUN groupadd -g 500 cmsinst && adduser -u 500 -g 500 cmsinst && install -d /opt && install -d -o cmsinst /opt/cms && \ - groupadd -g 501 cmsusr && adduser -u 501 -g 501 cmsusr +RUN groupadd -g 1000 cmsusr && adduser -u 1000 -g 1000 cmsusr && \ + echo "cmsusr ALL=(ALL) NOPASSWD:ALL" > /etc/sudoers && \ + groupadd -g 1001 cmsinst && adduser -u 1001 -g 1001 cmsinst && \ + install -d /opt && install -d -o cmsinst /opt/cms USER cmsinst WORKDIR /opt/cms @@ -48,15 +49,15 @@ RUN /bin/cp -f /opt/cms/cmsset_default.sh /etc/profile.d/ USER cmsusr WORKDIR /home/cmsusr +ENV HOME=/home/cmsusr ENV CMSSW_VERSION=${CMSSW_VERSION} ENV SCRAM_ARCH=${SCRAM_ARCH} -RUN echo $'source /opt/cms/cmsset_default.sh; \n\ - scramv1 project CMSSW ${CMSSW_VERSION}; \n\ - cd ${CMSSW_VERSION}/src; \n\ - eval `scramv1 runtime -sh`; \n\ - export PS1=\'[\\t] \\e[91m\\u\\e[0m@\\e[34m\\h \\e[36m\\w \\e[0m$ \'; \n\ +ADD entrypoint.sh /opt/cms/entrypoint.sh +RUN echo $'export PS1=\'[\\t] \\e[91m\\u\\e[0m@\\e[34m\\h \\e[36m\\w \\e[0m$ \'; \n\ export PROMPT=\'[%*] %F{red}%n%f@%F{blue}%m%f %F{yellow}%3~%f $ \'' \ > .bashrc; \ - cp .bashrc .zshrc; + cp .bashrc .zshrc; \ + sudo chmod 755 /opt/cms/entrypoint.sh; -# ENTRYPOINT /bin/zsh +ENTRYPOINT ["/opt/cms/entrypoint.sh"] +CMD ["/bin/zsh"] \ No newline at end of file diff --git a/standalone/entrypoint.sh b/standalone/entrypoint.sh new file mode 100755 index 0000000000000000000000000000000000000000..062b85623edfca7a17343840acc2307487c6eb4c --- /dev/null +++ b/standalone/entrypoint.sh @@ -0,0 +1,11 @@ +#!/bin/bash +set -e + +echo "Setting up ${CMSSW_VERSION}" +source /opt/cms/cmsset_default.sh +scramv1 project CMSSW ${CMSSW_VERSION} +cd ${CMSSW_VERSION}/src +eval `scramv1 runtime -sh` +echo "CMSSW should now be available." + +exec "$@"