# syntax=docker/dockerfile:1.3-labs # NOTE: Building this image requires Docker version >= 23.0. # Stage 1: Build environment ARG TAG_VERSION="12.4.1-cudnn-devel-ubuntu22.04" FROM nvidia/cuda:${TAG_VERSION} ENV CUDA_HOME=/usr/local/cuda ENV PATH=$CUDA_HOME/bin:$PATH ENV LD_LIBRARY_PATH=$CUDA_HOME/lib64:$LD_LIBRARY_PATH ENV CPATH=$CUDA_HOME/include:$CPATH ENV LIBRARY_PATH=$CUDA_HOME/lib64:$LIBRARY_PATH ARG HTTP_PROXY ARG HTTPS_PROXY ENV http_proxy=${HTTP_PROXY} ENV https_proxy=${HTTPS_PROXY} ARG DEBIAN_FRONTEND="noninteractive" ENV DEBIAN_FRONTEND=${DEBIAN_FRONTEND} ENV SSH_PORT=2222 WORKDIR /root SHELL ["/bin/bash", "-c"] # Replace sources.list with Aliyun mirror RUN < /etc/apt/sources.list deb https://mirrors.aliyun.com/ubuntu/ jammy main restricted universe multiverse deb-src https://mirrors.aliyun.com/ubuntu/ jammy main restricted universe multiverse deb https://mirrors.aliyun.com/ubuntu/ jammy-security main restricted universe multiverse deb-src https://mirrors.aliyun.com/ubuntu/ jammy-security main restricted universe multiverse deb https://mirrors.aliyun.com/ubuntu/ jammy-updates main restricted universe multiverse deb-src https://mirrors.aliyun.com/ubuntu/ jammy-updates main restricted universe multiverse deb https://mirrors.aliyun.com/ubuntu/ jammy-backports main restricted universe multiverse deb-src https://mirrors.aliyun.com/ubuntu/ jammy-backports main restricted universe multiverse EOF apt-get update && apt-get install -y tzdata ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime echo "Asia/Shanghai" > /etc/timezone apt-get install -y tcl-dev \ environment-modules \ wget \ curl \ bzip2 \ tar \ less mkdir -p ~/.local/modules wget https://sourceforge.net/projects/modules/files/Modules/modules-5.5.0/modules-5.5.0.tar.gz # curl -LJO https://github.com/cea-hpc/modules/releases/download/v5.5.0/modules-5.5.0.tar.gz tar xfz modules-5.5.0.tar.gz cd modules-5.5.0 ./configure --prefix=$HOME/.local/modules --with-tcl-lib=/usr/local/tools/tcl/lib --with-tcl-inc=/usr/local/tools/tcl/include --modulefilesdir=$HOME/.local/modules/modulefiles make -j$(nproc) make install echo "source $HOME/.local/modules/init/profile.sh" >> ~/.bashrc echo "source $HOME/.local/modules/init/profile.sh" >> /etc/profile rm -rf /root/modules* EOT