summaryrefslogtreecommitdiff
path: root/Dockerfile
diff options
context:
space:
mode:
authorJoseph Hunkeler <jhunkeler@gmail.com>2019-01-31 13:23:24 -0500
committerJoseph Hunkeler <jhunkeler@gmail.com>2019-01-31 13:23:24 -0500
commita16452a5187314523a0d3d1431d589463e3f281d (patch)
treeff05a63c43942f6b21420660df6cf7e3d023836b /Dockerfile
downloaddocker-base-a16452a5187314523a0d3d1431d589463e3f281d.tar.gz
Initial commit
Diffstat (limited to 'Dockerfile')
-rw-r--r--Dockerfile69
1 files changed, 69 insertions, 0 deletions
diff --git a/Dockerfile b/Dockerfile
new file mode 100644
index 0000000..4740144
--- /dev/null
+++ b/Dockerfile
@@ -0,0 +1,69 @@
+FROM centos:6.9
+LABEL maintainer="jhunk@stsci.edu" \
+ vendor="Space Telescope Science Institute"
+
+ENV TOOLCHAIN="/opt/toolchain"
+ENV TOOLCHAIN_BIN="${TOOLCHAIN}/bin"
+ENV TOOLCHAIN_LIB="${TOOLCHAIN}/lib"
+ENV TOOLCHAIN_INCLUDE="${TOOLCHAIN}/include"
+ENV TOOLCHAIN_DATA="${TOOLCHAIN}/share"
+ENV TOOLCHAIN_SYSCONF="${TOOLCHAIN}/etc"
+ENV TOOLCHAIN_MAN="${TOOLCHAIN_DATA}/man"
+ENV TOOLCHAIN_PKGCONFIG="${TOOLCHAIN_LIB}/pkgconfig"
+ENV TOOLCHAIN_BUILD="/opt/buildroot"
+ENV PATH="${TOOLCHAIN_BIN}:${PATH}"
+
+ARG PYTHON_VERSION=${PYTHON_VERSION:-3.7.1}
+ARG USER_ACCT=${USER_ACCT:-developer}
+ARG USER_HOME=/home/${USER_ACCT}
+ARG USER_UID=${USER_UID:-1000}
+ARG USER_GID=${USER_GID:-1000}
+
+ENV USER_ACCT=${USER_ACCT} \
+ USER_HOME=${USER_HOME} \
+ USER_UID=${USER_UID} \
+ USER_GID=${USER_GID} \
+ LC_ALL=en_US.UTF-8 \
+ LANG=en_US.UTF-8 \
+ LANGUAGE=en_US.UTF-8
+
+RUN groupadd -g ${USER_GID} ${USER_ACCT} \
+ && useradd -u ${USER_UID} -g ${USER_ACCT} \
+ -m -d ${USER_HOME} -s /bin/bash ${USER_ACCT} \
+ && echo "${USER_ACCT}:${USER_ACCT}" | chpasswd \
+ && echo "${USER_ACCT} ALL=(ALL) NOPASSWD: ALL" >> /etc/sudoers \
+ && echo export PATH="${TOOLCHAIN_BIN}:\${PATH}" > /etc/profile.d/toolchain.sh \
+ && echo export MANPATH="${TOOLCHAIN_MAN}:\${MANPATH}" >> /etc/profile.d/toolchain.sh \
+ && echo export PKG_CONFIG_PATH="${TOOLCHAIN_PKGCONFIG}:\${PKG_CONFIG_PATH}" >> /etc/profile.d/toolchain.sh \
+ && yum install -y epel-release \
+ && yum install -y \
+ gcc \
+ gcc-c++ \
+ gcc-gfortran \
+ glibc \
+ make \
+ perl \
+ pkgconfig \
+ sudo \
+ wget \
+ which \
+ zlib-devel \
+ && yum clean all
+
+WORKDIR "${TOOLCHAIN_BUILD}"
+COPY scripts/ ${TOOLCHAIN_BUILD}/bin
+COPY etc/ ${TOOLCHAIN_BUILD}/etc
+
+RUN mkdir -p "${TOOLCHAIN}" \
+ && chown -R ${USER_ACCT}: \
+ ${TOOLCHAIN} \
+ ${TOOLCHAIN_BUILD}
+
+USER "${USER_ACCT}"
+
+RUN bin/build.sh \
+ && sudo rm -rf "${TOOLCHAIN_BUILD}"
+
+WORKDIR "${USER_HOME}"
+
+CMD ["/bin/bash", "-l"]