add step build file
This commit is contained in:
58
Dockerfile.1.module
Normal file
58
Dockerfile.1.module
Normal file
@@ -0,0 +1,58 @@
|
||||
# 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
|
||||
Reference in New Issue
Block a user