Files
gromacs_docker/Dockerfile.1.module
2025-01-18 21:39:38 +08:00

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