Skip to content

Commit 8732475

Browse files
sumanthratnaBorda
andcommitted
Remove unnecessary intermediate layers in base-conda Dockerfile (#5697)
* [docker][base-conda] Combine ENV+COPY instructions * [docker][base-cuda] Combine ENV+COPY instructions * [docker][base-xla] Combine ENV+COPY instructions * [docker][base-cuda] Fix COPY instruction * [docker][base-xla] Fix quote in ENV * [docker][base-xla] Fix $PATH in ENV * [docker][base-conda] Fix COPY instruction * chlog Co-authored-by: Jirka Borovec <[email protected]>
1 parent a7d288c commit 8732475

File tree

4 files changed

+48
-41
lines changed

4 files changed

+48
-41
lines changed

CHANGELOG.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -198,6 +198,8 @@ The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/).
198198

199199
- Fixed a race condition in `ModelCheckpoint` when checking if a checkpoint file exists ([#5144](https://github.com/PyTorchLightning/pytorch-lightning/pull/5144))
200200

201+
- Remove unnecessary intermediate layers in Dockerfiles ([#5697](https://github.com/PyTorchLightning/pytorch-lightning/pull/5697))
202+
201203

202204
## [1.1.6] - 2021-01-26
203205

dockers/base-conda/Dockerfile

Lines changed: 20 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -58,21 +58,21 @@ RUN apt-get update -qq && \
5858
rm -rf /root/.cache && \
5959
rm -rf /var/lib/apt/lists/*
6060

61-
ENV PATH="/root/miniconda3/bin:$PATH"
62-
ENV LD_LIBRARY_PATH="/root/miniconda3/lib:$LD_LIBRARY_PATH"
63-
ENV CUDA_TOOLKIT_ROOT_DIR="/usr/local/cuda"
64-
65-
ENV HOROVOD_GPU_OPERATIONS=NCCL
66-
ENV HOROVOD_WITH_PYTORCH=1
67-
ENV HOROVOD_WITHOUT_TENSORFLOW=1
68-
ENV HOROVOD_WITHOUT_MXNET=1
69-
ENV HOROVOD_WITH_GLOO=1
70-
ENV HOROVOD_WITHOUT_MPI=1
71-
#ENV MAKEFLAGS="-j$(nproc)"
72-
ENV MAKEFLAGS="-j1"
73-
ENV TORCH_CUDA_ARCH_LIST="3.7;5.0;6.0;7.0;7.5"
74-
75-
ENV CONDA_ENV=lightning
61+
ENV \
62+
PATH="/root/miniconda3/bin:$PATH" \
63+
LD_LIBRARY_PATH="/root/miniconda3/lib:$LD_LIBRARY_PATH" \
64+
CUDA_TOOLKIT_ROOT_DIR="/usr/local/cuda" \
65+
HOROVOD_GPU_OPERATIONS=NCCL \
66+
HOROVOD_WITH_PYTORCH=1 \
67+
HOROVOD_WITHOUT_TENSORFLOW=1 \
68+
HOROVOD_WITHOUT_MXNET=1 \
69+
HOROVOD_WITH_GLOO=1 \
70+
HOROVOD_WITHOUT_MPI=1 \
71+
# MAKEFLAGS="-j$(nproc)" \
72+
MAKEFLAGS="-j1" \
73+
TORCH_CUDA_ARCH_LIST="3.7;5.0;6.0;7.0;7.5" \
74+
CONDA_ENV=lightning
75+
7676
COPY environment.yml environment.yml
7777

7878
# conda init
@@ -89,10 +89,11 @@ RUN conda create -y --name $CONDA_ENV python=${PYTHON_VERSION} pytorch=${PYTORCH
8989
conda clean -ya && \
9090
rm environment.yml
9191

92-
ENV PATH /root/miniconda3/envs/${CONDA_ENV}/bin:$PATH
93-
ENV LD_LIBRARY_PATH="/root/miniconda3/envs/${CONDA_ENV}/lib:$LD_LIBRARY_PATH"
94-
# if you want this environment to be the default one, uncomment the following line:
95-
ENV CONDA_DEFAULT_ENV=${CONDA_ENV}
92+
ENV \
93+
PATH /root/miniconda3/envs/${CONDA_ENV}/bin:$PATH \
94+
LD_LIBRARY_PATH="/root/miniconda3/envs/${CONDA_ENV}/lib:$LD_LIBRARY_PATH" \
95+
# if you want this environment to be the default one, uncomment the following line:
96+
CONDA_DEFAULT_ENV=${CONDA_ENV}
9697

9798
COPY ./requirements/extra.txt requirements-extra.txt
9899
COPY ./requirements/test.txt requirements-test.txt

dockers/base-cuda/Dockerfile

Lines changed: 15 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -31,11 +31,11 @@ ARG CMAKE_VERSION=3.18.4
3131

3232
SHELL ["/bin/bash", "-c"]
3333
# https://techoverflow.net/2019/05/18/how-to-fix-configuring-tzdata-interactive-input-when-building-docker-images/
34-
ENV DEBIAN_FRONTEND=noninteractive
35-
ENV TZ=Europe/Prague
36-
37-
ENV PATH="$PATH:/root/.local/bin"
38-
ENV CUDA_TOOLKIT_ROOT_DIR="/usr/local/cuda"
34+
ENV \
35+
DEBIAN_FRONTEND=noninteractive \
36+
TZ=Europe/Prague \
37+
PATH="$PATH:/root/.local/bin" \
38+
CUDA_TOOLKIT_ROOT_DIR="/usr/local/cuda"
3939

4040
RUN apt-get update -qq && \
4141
apt-get install -y --no-install-recommends \
@@ -67,15 +67,16 @@ RUN apt-get update -qq && \
6767
rm -rf /root/.cache && \
6868
rm -rf /var/lib/apt/lists/*
6969

70-
ENV HOROVOD_GPU_OPERATIONS=NCCL
71-
ENV HOROVOD_WITH_PYTORCH=1
72-
ENV HOROVOD_WITHOUT_TENSORFLOW=1
73-
ENV HOROVOD_WITHOUT_MXNET=1
74-
ENV HOROVOD_WITH_GLOO=1
75-
ENV HOROVOD_WITHOUT_MPI=1
76-
#ENV MAKEFLAGS="-j$(nproc)"
77-
ENV MAKEFLAGS="-j1"
78-
ENV TORCH_CUDA_ARCH_LIST="3.7;5.0;6.0;7.0;7.5"
70+
ENV \
71+
HOROVOD_GPU_OPERATIONS=NCCL \
72+
HOROVOD_WITH_PYTORCH=1 \
73+
HOROVOD_WITHOUT_TENSORFLOW=1 \
74+
HOROVOD_WITHOUT_MXNET=1 \
75+
HOROVOD_WITH_GLOO=1 \
76+
HOROVOD_WITHOUT_MPI=1 \
77+
# MAKEFLAGS="-j$(nproc)" \
78+
MAKEFLAGS="-j1" \
79+
TORCH_CUDA_ARCH_LIST="3.7;5.0;6.0;7.0;7.5"
7980

8081
COPY ./requirements.txt requirements.txt
8182
COPY ./requirements/ ./requirements/

dockers/base-xla/Dockerfile

Lines changed: 11 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -25,8 +25,9 @@ SHELL ["/bin/bash", "-c"]
2525

2626
ARG CONDA_VERSION=4.7.12
2727
# for skipping configurations
28-
ENV DEBIAN_FRONTEND=noninteractive
29-
ENV CONDA_ENV=lightning
28+
ENV \
29+
DEBIAN_FRONTEND=noninteractive \
30+
CONDA_ENV=lightning
3031

3132
# show system inforation
3233
RUN lsb_release -a && cat /etc/*-release
@@ -53,8 +54,9 @@ RUN apt-get update -qq && \
5354
rm -rf /root/.cache && \
5455
rm -rf /var/lib/apt/lists/*
5556

56-
ENV PATH="/root/miniconda3/bin:$PATH"
57-
ENV LD_LIBRARY_PATH="/root/miniconda3/lib:$LD_LIBRARY_PATH"
57+
ENV \
58+
PATH="/root/miniconda3/bin:$PATH" \
59+
LD_LIBRARY_PATH="/root/miniconda3/lib:$LD_LIBRARY_PATH"
5860
COPY environment.yml environment.yml
5961

6062
RUN conda create -y --name $CONDA_ENV && \
@@ -67,10 +69,11 @@ RUN conda create -y --name $CONDA_ENV && \
6769
conda clean -ya && \
6870
rm environment.yml
6971

70-
ENV PATH /root/miniconda3/envs/${CONDA_ENV}/bin:$PATH
71-
ENV LD_LIBRARY_PATH="/root/miniconda3/envs/${CONDA_ENV}/lib:$LD_LIBRARY_PATH"
72-
# if you want this environment to be the default one, uncomment the following line:
73-
ENV CONDA_DEFAULT_ENV=${CONDA_ENV}
72+
ENV \
73+
PATH=/root/miniconda3/envs/${CONDA_ENV}/bin:$PATH \
74+
LD_LIBRARY_PATH="/root/miniconda3/envs/${CONDA_ENV}/lib:$LD_LIBRARY_PATH" \
75+
# if you want this environment to be the default one, uncomment the following line:
76+
CONDA_DEFAULT_ENV=${CONDA_ENV}
7477

7578
# Disable cache
7679
RUN pip --version && \

0 commit comments

Comments
 (0)