# syntax=docker/dockerfile:1.5.0 # ************************************************** # The pyenv dockerfile builds a cuda compatible pyenv # environment with a specific version precompiled and builtin. # # This dockerfile uses new-ish buildkit syntax. # Details on how to run are on the bottom of the file. # (docker devs: todo unconsequential heredocs) # # ************************************************** #### STAGE 1 FROM nvidia/cuda:11.4.3-cudnn8-devel-ubuntu20.04 as pyenv_stage ARG PYTHON_VERSION=3.11.2 ARG PYENV_VERSION=v2.3.13 ENV HOME=/root ENV PYENV_ROOT=/root/.pyenv ## Install Prerequisites RUN <> $HOME/.bashrc echo "$BASHRC_CONTENTS" >> $HOME/.profile EOF #### STAGE 2 FROM pyenv_stage as module_stage ENV HOME=/root ## Install Prerequisites RUN <=2.13.0 # pip install awscli fi EOF # Finalize more fickle dependencies RUN --mount=type=cache,target=/root/.cache <=/==/g' requirements/gdal.txt > requirements/gdal-strict.txt pip install -r requirements/gdal-strict.txt else echo "FINALIZE LOOSE VARIANT DEPS" pip install -r requirements/gdal.txt fi EOF #### Copy over the rest of the repo structure COPY .git /root/code/watch/.git # Install other useful tools RUN --mount=type=cache,target=/root/.cache <=2.13.0 # pip install scikit-image>=0.18.1 pip install awscli EOF # Does this get rid of the unset issue? ARG PYENV_VERSION= # Run simple tests RUN <