Back to home page

EIC code displayed by LXR

 
 

    


Warning, /jana2/containers/Docker/farm.Dockerfile is written in an unsupported language. File is not indexed.

0001 # JANA docker image
0002 #
0003 # This will create a Docker image containing JANA source
0004 # and binaries.
0005 #
0006 # This Dockerfile is written by:
0007 #
0008 # David Lawrence
0009 #
0010 # Instructions:
0011 #
0012 #--------------------------------------------------------------------------
0013 #
0014 # To build and push the container:
0015 #
0016 # docker build -f Dockerfile -t jana .
0017 #
0018 # docker tag jana jeffersonlab/jana
0019 #
0020 # docker push jeffersonlab/jana
0021 #
0022 #--------------------------------------------------------------------------
0023 #
0024 # To run and interactive session using bash:
0025 #
0026 #  docker run -it --rm jeffersonlab/jana bash
0027 #  # jana -PPLUGINS=JTest -PNTHREADS=4 dummy
0028 #
0029 #
0030 #  To run as an app with a binary compatible 
0031 # plugin and input file from the host:
0032 #
0033 #  docker run -it --rm  -v /path/to/plugins:/plugins -v /path/to/work:/work jeffersonlab/jana -PMyPlugin -PNTHREADS=4 /work/file
0034 #--------------------------------------------------------------------------
0035 
0036 FROM centos:7.7.1908
0037 LABEL maintainer "David Lawrence <davidl@jlab.org>"
0038 
0039 # Setup environment variables
0040 ENV JANA_HOME /opt/JANA2/Linux_CentOS7-x86_64-gcc4.8.5
0041 #ENV JANA_HOME /opt/JANA2
0042 ENV JANA_PLUGIN_PATH /usr/lib64/jana/plugins:/plugins
0043 ENV LD_LIBRARY_PATH ${JANA_PLUGIN_PATH}:/usr/local/lib64
0044 
0045 # Add enterprise linux repositories
0046 RUN yum install -y epel-release
0047 
0048 # Install g++ and git so we can grab and compile source
0049 RUN yum install -y \
0050         gcc-c++ \
0051         git \
0052     cmake3 \
0053     make \
0054     python3-tkinter \
0055     python3-devel \
0056     python36-zmq \
0057     tcsh \
0058         && yum clean all
0059 
0060 # Download JANA source
0061 RUN git clone https://github.com/JeffersonLab/JANA2 /opt/JANA2
0062 
0063 # Compile and install JANA source
0064 RUN cd /opt/JANA2 \
0065     && git checkout davidl_janacontrol \
0066     && mkdir build \
0067     && cd build \
0068     && cmake3 .. \
0069     && make -j8 install \
0070         && mkdir /usr/lib64/jana \
0071         && ln -s ${JANA_HOME}/Linux_*/plugins /usr/lib64/jana \
0072         && for f in `ls /opt/JANA2/Linux_CentOS7-x86_64-gcc4.8.5/bin/*` ; do ln -s $f /usr/bin ; done\
0073     && cd .. \
0074         && rm -rf build/*
0075 
0076 # Copy the Dockerfile into container
0077 ADD Dockerfile* /container/Docker/jana/
0078 
0079 CMD bash
0080