From 0fedc98b09f87b01a9c6d04a2ef1fdb46f78d46e Mon Sep 17 00:00:00 2001
From: Jeremy Fee <jmfee@usgs.gov>
Date: Mon, 18 Sep 2017 13:23:08 -0600
Subject: [PATCH] Use multi-stage build to remove gcc compiler from image

---
 Dockerfile | 32 +++++++++++++++++---------------
 1 file changed, 17 insertions(+), 15 deletions(-)

diff --git a/Dockerfile b/Dockerfile
index 76df4b17..f4cd5916 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -1,8 +1,4 @@
-FROM usgs/hazdev-base-images:latest-centos
-
-MAINTAINER Jeremy Fee <jmfee@usgs.gov>
-LABEL usgs.geomag-algorithms.version=0.4.0
-
+FROM usgs/hazdev-base-images:latest-centos AS pycurl-build
 
 # install conda dependencies
 RUN yum install -y \
@@ -12,7 +8,6 @@ RUN yum install -y \
         && \
     yum clean all
 
-
 # install conda
 ENV PATH /conda/bin:$PATH
 RUN echo 'export PATH=/conda/bin:$PATH' > /etc/profile.d/conda.sh && \
@@ -21,11 +16,6 @@ RUN echo 'export PATH=/conda/bin:$PATH' > /etc/profile.d/conda.sh && \
     /bin/bash ~/miniconda.sh -b -p /conda && \
     rm ~/miniconda.sh
 
-
-# copy library (ignores set in .dockerignore)
-COPY . /geomag-algorithms
-
-
 # install algorithms and dependencies via conda
 RUN conda config --set ssl_verify $SSL_CERT_FILE && \
     conda config --add channels obspy && \
@@ -34,9 +24,22 @@ RUN conda config --set ssl_verify $SSL_CERT_FILE && \
     # build pycurl with SFTP support
         export PIP_CERT=$SSL_CERT_FILE && \
         export PYCURL_SSL_LIBRARY=nss && \
-        pip install pycurl && \
-    # end build pycurl
-    pip install /geomag-algorithms && \
+        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' \
         -m \
@@ -46,7 +49,6 @@ RUN conda config --set ssl_verify $SSL_CERT_FILE && \
     mkdir -p /home/geomag_user/notebooks && \
     chown -R geomag_user:geomag_user /home/geomag_user
 
-
 USER geomag_user
 
 WORKDIR /home/geomag_user
-- 
GitLab