58 lines
2.3 KiB
Docker
58 lines
2.3 KiB
Docker
# 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 <<EOT
|
|
#!/bin/bash
|
|
cp /etc/apt/sources.list /etc/apt/sources.list_bak
|
|
cat << EOF > /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 |