Dockerfile-multistage 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. FROM nvidia/cuda:10.2-cudnn7-devel-ubuntu18.04 AS BUILD
  2. LABEL maintainer="metya"
  3. ARG CONDA_DIR=/opt/conda
  4. # Instal basic utilities
  5. RUN apt update && \
  6. apt install -y --no-install-recommends git wget unzip bzip2 build-essential ca-certificates && \
  7. apt autoremove && \
  8. apt clean && \
  9. rm -rf /var/lib/apt/lists /var/cache/apt/archives
  10. # Install miniconda
  11. ENV PATH $CONDA_DIR/bin:$PATH
  12. RUN wget --quiet https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh -O /tmp/miniconda.sh && \
  13. echo 'export PATH=$CONDA_DIR/bin:$PATH' > /etc/profile.d/conda.sh && \
  14. /bin/bash /tmp/miniconda.sh -b -p $CONDA_DIR && \
  15. apt autoremove && \
  16. apt clean && \
  17. rm -rf /tmp/* && \
  18. rm -rf /var/lib/apt/lists /var/cache/apt/archives
  19. RUN conda install -y pytorch -c pytorch && \
  20. conda clean -ay
  21. # Runtime image
  22. FROM nvidia/cuda:10.2-base-ubuntu18.04
  23. ARG CONDA_DIR=/opt/conda
  24. ARG USERNAME=docker
  25. ARG USERID=1000
  26. # Instal basic utilities
  27. RUN apt update && \
  28. apt install -y --no-install-recommends git wget unzip bzip2 sudo p7zip && \
  29. apt autoremove && \
  30. apt clean && \
  31. rm -rf
  32. ENV PATH $CONDA_DIR/bin:$PATH
  33. ENV CUDA_HOME=/usr/local/cuda
  34. ENV CUDA_ROOT=$CUDA_HOME
  35. ENV PATH=$PATH:$CUDA_ROOT/bin:$HOME/bin
  36. ENV LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$CUDA_ROOT/lib64
  37. RUN mkdir -p /opt/conda/
  38. # Create the user
  39. RUN useradd --create-home -s /bin/bash --no-user-group -u $USERID $USERNAME && \
  40. chown $USERNAME $CONDA_DIR -R && \
  41. adduser $USERNAME sudo && \
  42. echo "$USERNAME ALL=(ALL) NOPASSWD: ALL" >> /etc/sudoers
  43. USER $USERNAME
  44. WORKDIR /home/$USERNAME
  45. COPY --chown=1000 --from=build /opt/conda/. $CONDA_DIR