diff --git a/Dockerfile b/Dockerfile index b20cb4b..ff01f0b 100644 --- a/Dockerfile +++ b/Dockerfile @@ -4,11 +4,10 @@ FROM ubuntu:22.04 MAINTAINER "SHUD" WORKDIR /model + ENV DEBIAN_FRONTEND=noninteractive - ENV VERSION_CODENAME=jammy - RUN rm /etc/apt/sources.list \ && echo "deb [trusted=yes] https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ ${VERSION_CODENAME} main restricted universe multiverse" >> /etc/apt/sources.list \ && echo "deb [trusted=yes] https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ ${VERSION_CODENAME}-updates main restricted universe multiverse" >> /etc/apt/sources.list \ @@ -23,14 +22,18 @@ RUN apt-get update \ ca-certificates \ dejagnu \ sudo libtool \ - vim git subversion gfortran cmake \ + vim git git-lfs subversion gfortran cmake \ libxml2-utils libxml-libxml-perl \ - python \ + python3 python3-dev python3-venv python3-pip \ make m4 \ libcurl4-openssl-dev liblapack-dev libblas-dev mpich libmpich-dev \ gnupg wget curl \ && apt-get clean +RUN python3 -m venv /venv + +ENV PATH="/venv/bin:${PATH}" + ADD pkgs/*.gz /usr/local/src/ ARG ZDIR=/usr/local/zlib @@ -98,10 +101,9 @@ RUN echo ${NCDIR}/lib > /etc/ld.so.conf.d/netcdf.conf \ ENV USER=clm RUN useradd -m -G adm,sudo -s /bin/bash $USER \ && echo "root:root" | chpasswd \ - && echo "clm:clm" | chpasswd \ - && apt-get remove wget -y + && echo "clm:clm" | chpasswd -RUN git clone -b release-clm5.0 https://github.com/ESCOMP/ctsm \ +RUN git clone -b release-clm5.0 https://github.com/ESCOMP/CTSM.git ctsm \ && cd ctsm && ./manage_externals/checkout_externals \ && chown -R clm:clm /model/ctsm \ && cd .. @@ -116,7 +118,7 @@ COPY run_CLM50_example01.sh /home/${USER}/cesm/ WORKDIR /home/${USER}/cesm -RUN chown -R clm:clm /home /home/${USER} /home/${USER}/.cime /inputdata +RUN chown -R clm:clm /home /home/${USER} /home/${USER}/.cime # && chmod 755 -R /inputdata /home/${USER}/.cime /home/${USER} \ USER ${USER} diff --git a/README.md b/README.md index 4afaff9..7cdb236 100644 --- a/README.md +++ b/README.md @@ -3,7 +3,8 @@ ### Usage ```bash -docker run -it --rm -v /data/cesm/inputdata:/inputdata -v /data/cesm/scratch:/home/clm/cesm -e USERID=$UID . bash +docker build -t clm5 . +docker run -it --rm -v /data/ctsm/inputdata:/inputdata -v /data/ctsm/scratch:/home/clm/cesm -e USERID=$UID clm5 bash ``` * Document of CLM5.0: