Skip to content
Snippets Groups Projects
Dockerfile 1.62 KiB
Newer Older
  • Learn to ignore specific revisions
  • FROM usgs/hazdev-base-images:latest-centos AS pycurl-build
    
    
    # install conda dependencies
    RUN yum install -y \
    
    Jeremy M Fee's avatar
    Jeremy M Fee committed
            bzip2 \
            gcc \
    
            libcurl-devel \
            && \
        yum clean all
    
    Jeremy M Fee's avatar
    Jeremy M Fee committed
    
    
    Jeremy M Fee's avatar
    Jeremy M Fee committed
    ENV PATH /conda/bin:$PATH
    RUN echo 'export PATH=/conda/bin:$PATH' > /etc/profile.d/conda.sh && \
        curl https://repo.continuum.io/miniconda/Miniconda2-latest-Linux-x86_64.sh \
            -o ~/miniconda.sh && \
        /bin/bash ~/miniconda.sh -b -p /conda && \
    
    Jeremy M Fee's avatar
    Jeremy M Fee committed
    
    
    # install algorithms and dependencies via conda
    
    RUN conda config --set ssl_verify $SSL_CERT_FILE && \
        conda config --add channels obspy && \
    
        conda install --yes jupyter obspy && \
        conda clean -i -l -t -y && \
    
        # build pycurl with SFTP support
            export PIP_CERT=$SSL_CERT_FILE && \
            export PYCURL_SSL_LIBRARY=nss && \
    
            pip install pycurl
    
    
    FROM usgs/hazdev-base-images:latest-centos
    MAINTAINER Jeremy Fee <jmfee@usgs.gov>
    LABEL usgs.geomag-algorithms.version=0.4.0
    
    # use conda install from build container
    ENV PATH /conda/bin:$PATH
    COPY --from=pycurl-build /conda /conda
    COPY --from=pycurl-build /etc/profile.d/conda.sh /etc/profile.d/conda.sh
    
    # copy library (ignores set in .dockerignore)
    COPY . /geomag-algorithms
    
    RUN pip install /geomag-algorithms && \
    
        useradd \
            -c 'Docker image user' \
    
            -r \
            -s /sbin/nologin \
             geomag_user && \
        mkdir -p /home/geomag_user/notebooks && \
        chown -R geomag_user:geomag_user /home/geomag_user
    
    USER geomag_user
    
    Jeremy M Fee's avatar
    Jeremy M Fee committed
    
    
    Jeremy M Fee's avatar
    Jeremy M Fee committed
    EXPOSE 80
    
    # entrypoint needs double quotes
    ENTRYPOINT [ "/geomag-algorithms/docker-entrypoint.sh" ]