From 2d3e1c9ac2a7a900e6bd0c1c200228f4a8b9fa42 Mon Sep 17 00:00:00 2001 From: jac lou hoo Date: Tue, 23 Feb 2021 11:06:25 -0500 Subject: [PATCH 1/6] Update Dockerfile Use Julia 1.5.3 instead of 1.3.1 (is there any reason not to do update?) --- Dockerfile | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/Dockerfile b/Dockerfile index f1dfb1d..929fd9e 100644 --- a/Dockerfile +++ b/Dockerfile @@ -17,9 +17,10 @@ RUN git config --global user.email "email@example.com" RUN virtualenv -p /usr/bin/python3 /venv RUN . /venv/bin/activate && pip install jupyter jupytext matplotlib tensorflow torch -RUN wget https://julialang-s3.julialang.org/bin/linux/x64/1.3/julia-1.3.1-linux-x86_64.tar.gz -RUN tar -xzv < julia-1.3.1-linux-x86_64.tar.gz -RUN ln -s /julia-1.3.1/bin/julia /usr/bin/julia +RUN wget https://julialang-s3.julialang.org/bin/linux/x64/1.5/julia-1.5.3-linux-x86_64.tar.gz && \ + tar -xzv < julia-1.5.3-linux-x86_64.tar.gz && \ + ln -s /julia-1.5.3/bin/julia /usr/bin/julia && \ + rm julia-1.5.3-linux-x86_64.tar.gz ADD . /gen-quickstart ENV JULIA_PROJECT=/gen-quickstart From fe5f227ebb3840e51a28b4463b5f68f7919f2394 Mon Sep 17 00:00:00 2001 From: jac lou hoo Date: Tue, 23 Feb 2021 12:53:54 -0500 Subject: [PATCH 2/6] parametrize julia version make a parameter for easily changing Julia version [suggested by @fplk](https://github.com/probcomp/gen-quickstart/pull/62#discussion_r581198702) --- Dockerfile | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/Dockerfile b/Dockerfile index 929fd9e..25dd2a7 100644 --- a/Dockerfile +++ b/Dockerfile @@ -17,10 +17,18 @@ RUN git config --global user.email "email@example.com" RUN virtualenv -p /usr/bin/python3 /venv RUN . /venv/bin/activate && pip install jupyter jupytext matplotlib tensorflow torch -RUN wget https://julialang-s3.julialang.org/bin/linux/x64/1.5/julia-1.5.3-linux-x86_64.tar.gz && \ - tar -xzv < julia-1.5.3-linux-x86_64.tar.gz && \ - ln -s /julia-1.5.3/bin/julia /usr/bin/julia && \ - rm julia-1.5.3-linux-x86_64.tar.gz +# Specify Julia version. Find current version on https://julialang.org/downloads/ +ARG JULIA_VERSION_SHORT="1.5" +ARG JULIA_VERSION_FULL="${JULIA_VERSION_SHORT}.3" +ENV JULIA_INSTALLATION_PATH=/opt/julia + +RUN wget https://julialang-s3.julialang.org/bin/linux/x64/${JULIA_VERSION_SHORT}/julia-${JULIA_VERSION_FULL}-linux-x86_64.tar.gz && \ + tar zxf julia-${JULIA_VERSION_FULL}-linux-x86_64.tar.gz && \ + mkdir -p "${JULIA_INSTALLATION_PATH}" && \ + mv julia-${JULIA_VERSION_FULL} "${JULIA_INSTALLATION_PATH}/" && \ + ln -fs "${JULIA_INSTALLATION_PATH}/julia-${JULIA_VERSION_FULL}/bin/julia" /usr/local/bin/ && \ + rm julia-${JULIA_VERSION_FULL}-linux-x86_64.tar.gz && \ + julia -e 'import Pkg; Pkg.add("IJulia")' ADD . /gen-quickstart ENV JULIA_PROJECT=/gen-quickstart From ee3198f0b22b8f9f81c4975c78e04c05dd3e4548 Mon Sep 17 00:00:00 2001 From: jac lou hoo Date: Tue, 23 Feb 2021 12:55:18 -0500 Subject: [PATCH 3/6] parametrize julia version for 20.04 --- Dockerfile.ubuntu-2004 | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/Dockerfile.ubuntu-2004 b/Dockerfile.ubuntu-2004 index 085d5c5..9ceeaaa 100644 --- a/Dockerfile.ubuntu-2004 +++ b/Dockerfile.ubuntu-2004 @@ -27,10 +27,18 @@ RUN git config --global user.email "email@example.com" # Could use virtual environment - "RUN virtualenv -p /usr/bin/python3 /venv" and ". /venv/bin/activate" && in front of pip and julia commands RUN python3 -m pip install jupyter jupytext matplotlib -RUN wget https://julialang-s3.julialang.org/bin/linux/x64/1.3/julia-1.3.1-linux-x86_64.tar.gz && \ - tar -xzv < julia-1.3.1-linux-x86_64.tar.gz && \ - ln -s /julia-1.3.1/bin/julia /usr/bin/julia && \ - rm julia-1.3.1-linux-x86_64.tar.gz +# Specify Julia version. Find current version on https://julialang.org/downloads/ +ARG JULIA_VERSION_SHORT="1.5" +ARG JULIA_VERSION_FULL="${JULIA_VERSION_SHORT}.3" +ENV JULIA_INSTALLATION_PATH=/opt/julia + +RUN wget https://julialang-s3.julialang.org/bin/linux/x64/${JULIA_VERSION_SHORT}/julia-${JULIA_VERSION_FULL}-linux-x86_64.tar.gz && \ + tar zxf julia-${JULIA_VERSION_FULL}-linux-x86_64.tar.gz && \ + mkdir -p "${JULIA_INSTALLATION_PATH}" && \ + mv julia-${JULIA_VERSION_FULL} "${JULIA_INSTALLATION_PATH}/" && \ + ln -fs "${JULIA_INSTALLATION_PATH}/julia-${JULIA_VERSION_FULL}/bin/julia" /usr/local/bin/ && \ + rm julia-${JULIA_VERSION_FULL}-linux-x86_64.tar.gz && \ + julia -e 'import Pkg; Pkg.add("IJulia")' ADD . /gen-quickstart ENV JULIA_PROJECT=/gen-quickstart From db4fc2b9167b61df2b8841369d6eef607c5093d3 Mon Sep 17 00:00:00 2001 From: Jacob Louis Hoover Date: Tue, 23 Feb 2021 17:11:02 -0500 Subject: [PATCH 4/6] TF now supports python 3.8 --- Dockerfile.ubuntu-2004 | 10 ++-------- 1 file changed, 2 insertions(+), 8 deletions(-) diff --git a/Dockerfile.ubuntu-2004 b/Dockerfile.ubuntu-2004 index 9ceeaaa..1e8f9e2 100644 --- a/Dockerfile.ubuntu-2004 +++ b/Dockerfile.ubuntu-2004 @@ -14,18 +14,12 @@ RUN apt update -qq && apt install -qq -y \ zlib1g-dev && \ rm -rf /var/lib/apt/lists/* -# Since Tensorflow only supports Python up to 3.7 and not 3.8 (default in 20.04) instead of tensorflow or tf-nightly-cpu we use -# Tensorflow wheel files from https://pypi.org/project/tf-nightly/2.2.0.dev20200307/#files -RUN wget https://files.pythonhosted.org/packages/30/8e/650b282491e126a39e2b256f1ad790d566c53465dfd801a7703e421431e3/tf_nightly-2.2.0.dev20200307-cp38-cp38-manylinux2010_x86_64.whl && \ - python3 -m pip install --upgrade pip && \ - python3 -m pip install tf_nightly-2.2.0.dev20200307-cp38-cp38-manylinux2010_x86_64.whl && \ - rm tf_nightly-2.2.0.dev20200307-cp38-cp38-manylinux2010_x86_64.whl - RUN git config --global user.name "Gen User" RUN git config --global user.email "email@example.com" # Could use virtual environment - "RUN virtualenv -p /usr/bin/python3 /venv" and ". /venv/bin/activate" && in front of pip and julia commands -RUN python3 -m pip install jupyter jupytext matplotlib +RUN python3 -m pip install --upgrade pip +RUN python3 -m pip install jupyter jupytext matplotlib tensorflow # Specify Julia version. Find current version on https://julialang.org/downloads/ ARG JULIA_VERSION_SHORT="1.5" From a2455275f5d1ccbeefbbae3c12b61248305da8c9 Mon Sep 17 00:00:00 2001 From: Jacob Louis Hoover Date: Sat, 27 Feb 2021 09:46:50 -0500 Subject: [PATCH 5/6] added PyTorch install in Ubuntu 20.04 Dockerfile --- Dockerfile.ubuntu-2004 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Dockerfile.ubuntu-2004 b/Dockerfile.ubuntu-2004 index 1e8f9e2..80c3c1b 100644 --- a/Dockerfile.ubuntu-2004 +++ b/Dockerfile.ubuntu-2004 @@ -19,7 +19,7 @@ RUN git config --global user.email "email@example.com" # Could use virtual environment - "RUN virtualenv -p /usr/bin/python3 /venv" and ". /venv/bin/activate" && in front of pip and julia commands RUN python3 -m pip install --upgrade pip -RUN python3 -m pip install jupyter jupytext matplotlib tensorflow +RUN python3 -m pip install jupyter jupytext matplotlib tensorflow torch # Specify Julia version. Find current version on https://julialang.org/downloads/ ARG JULIA_VERSION_SHORT="1.5" From ba9f734f89170602403e584a1dd8320b0ae1a18a Mon Sep 17 00:00:00 2001 From: Jacob Louis Hoover Date: Sun, 7 Mar 2021 18:42:43 -0500 Subject: [PATCH 6/6] chaining with && for slightly fewer RUN commands --- Dockerfile.ubuntu-2004 | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/Dockerfile.ubuntu-2004 b/Dockerfile.ubuntu-2004 index 80c3c1b..da84d0b 100644 --- a/Dockerfile.ubuntu-2004 +++ b/Dockerfile.ubuntu-2004 @@ -4,7 +4,8 @@ MAINTAINER MIT Probabilistic Computing Project # Avoid tzdata configuration dialog ENV DEBIAN_FRONTEND=noninteractive -RUN apt update -qq && apt install -qq -y \ +RUN apt-get update -qq && \ + apt-get install -qq -y \ hdf5-tools \ git \ python3-dev \ @@ -14,12 +15,11 @@ RUN apt update -qq && apt install -qq -y \ zlib1g-dev && \ rm -rf /var/lib/apt/lists/* -RUN git config --global user.name "Gen User" -RUN git config --global user.email "email@example.com" +RUN git config --global user.name "Gen User" && \ + git config --global user.email "email@example.com" -# Could use virtual environment - "RUN virtualenv -p /usr/bin/python3 /venv" and ". /venv/bin/activate" && in front of pip and julia commands -RUN python3 -m pip install --upgrade pip -RUN python3 -m pip install jupyter jupytext matplotlib tensorflow torch +RUN python3 -m pip install --upgrade pip && \ + python3 -m pip install jupyter jupytext matplotlib tensorflow torch # Specify Julia version. Find current version on https://julialang.org/downloads/ ARG JULIA_VERSION_SHORT="1.5"