change Dockerfile style, use zsh as shell

This commit is contained in:
leafee98 2023-05-12 21:07:49 +08:00
parent 1ac39cac41
commit 5f31d75038

View file

@ -3,28 +3,30 @@ FROM docker.io/nvidia/cuda:11.8.0-devel-ubuntu22.04
ARG APT_MIRROR=https://mirrors.bfsu.edu.cn ARG APT_MIRROR=https://mirrors.bfsu.edu.cn
ARG ROOT_PASSWD=miao ARG ROOT_PASSWD=miao
RUN \ RUN true \
env | grep -E -e '^NVIDIA' -e '^NV_' -e '^NVARCH' -e '^NCCL_' | \ && env | grep -E -e '^NVIDIA' -e '^NV_' -e '^NVARCH' -e '^NCCL_' | \
sed -E 's/=(.*)/="\1"/' > \ sed -E 's/=(.*)/="\1"/' > \
/etc/profile.d/00-nvidia.sh && \ /etc/profile.d/00-nvidia.sh \
echo "PATH=/usr/local/nvidia/bin:/usr/local/cuda/bin:\${PATH}" >> /etc/profile.d/00-nvidia.sh && \ && echo "PATH=/usr/local/nvidia/bin:/usr/local/cuda/bin:\${PATH}" >> /etc/profile.d/00-nvidia.sh \
echo "LD_LIBRARY_PATH=/usr/local/nvidia/lib:/usr/local/nvidia/lib64" >> /etc/profile.d/00-nvidia.sh && \ && echo "LD_LIBRARY_PATH=/usr/local/nvidia/lib:/usr/local/nvidia/lib64" >> /etc/profile.d/00-nvidia.sh \
echo "LIBRARY_PATH=/usr/local/cuda/lib64/stubs" >> /etc/profile.d/00-nvidia.sh && \ && echo "LIBRARY_PATH=/usr/local/cuda/lib64/stubs" >> /etc/profile.d/00-nvidia.sh \
sed -i 's/^/export /' /etc/profile.d/00-nvidia.sh && \ && sed -i 's/^/export /' /etc/profile.d/00-nvidia.sh \
\ \
sed -i "s#http://archive.ubuntu.com#${APT_MIRROR}#g" /etc/apt/sources.list && \ && sed -i "s#http://archive.ubuntu.com#${APT_MIRROR}#g" /etc/apt/sources.list \
sed -i "s#http://security.ubuntu.com#${APT_MIRROR}#g" /etc/apt/sources.list && \ && sed -i "s#http://security.ubuntu.com#${APT_MIRROR}#g" /etc/apt/sources.list \
\ \
echo root:${ROOT_PASSWD} | chpasswd && \ && echo root:${ROOT_PASSWD} | chpasswd \
\ \
apt update && \ && apt update \
apt install --yes ssh tini file neovim git && \ && apt install --yes ssh tini zsh netcat file neovim git \
apt clean && \ && apt clean \
rm -rf /var/lib/apt/lists/* && \ && rm -rf /var/lib/apt/lists/* \
\ \
mkdir /run/sshd && \ && usermod --shell /usr/bin/zsh root \
sed -i 's/#PermitRootLogin.*$/PermitRootLogin yes/' /etc/ssh/sshd_config && \ \
sed -i 's#SSHD_OPTS=#SSHD_OPTS=""#' /etc/default/ssh && mkdir /run/sshd \
&& sed -i 's/#PermitRootLogin.*$/PermitRootLogin yes/' /etc/ssh/sshd_config \
&& sed -i 's#SSHD_OPTS=#SSHD_OPTS=""#' /etc/default/ssh
ENTRYPOINT [ "/usr/bin/tini", "--" ] ENTRYPOINT [ "/usr/bin/tini", "--" ]
CMD [ "/usr/sbin/sshd", "-D" ] CMD [ "/usr/sbin/sshd", "-D" ]