2024-04-11 22:09:41 +08:00
|
|
|
FROM ben0i0d/cuda:12.2.0-devel-debian13
|
2024-03-17 15:40:43 +08:00
|
|
|
|
2024-04-11 22:09:41 +08:00
|
|
|
EXPOSE 8888
|
|
|
|
|
|
|
|
SHELL ["/bin/bash", "-o", "pipefail", "-c"]
|
2024-03-17 15:40:43 +08:00
|
|
|
|
|
|
|
USER root
|
|
|
|
|
2024-04-11 22:09:41 +08:00
|
|
|
# Configure environment
|
|
|
|
ENV DEBIAN_FRONTEND=noninteractive \
|
|
|
|
NB_USER=jovyan \
|
|
|
|
NB_UID=1000 \
|
|
|
|
NB_GID=100 \
|
|
|
|
PATH="/opt/base/bin:${PATH}" \
|
|
|
|
HOME="/home/jovyan"
|
|
|
|
|
|
|
|
# Copy files
|
|
|
|
COPY cert/cert.pem /usr/local/share/ca-certificates/eoelab.org.crt
|
2024-04-12 10:39:56 +08:00
|
|
|
COPY conf/pip.conf /etc/
|
|
|
|
COPY start-sh/* /usr/local/bin/
|
2024-04-11 22:09:41 +08:00
|
|
|
COPY conf/jupyter_server_config.py /etc/jupyter/
|
|
|
|
|
|
|
|
RUN sed -i 's/deb.debian.org/mirrors.ustc.edu.cn/g' /etc/apt/sources.list.d/debian.sources && \
|
2024-04-12 10:47:07 +08:00
|
|
|
apt-get update --yes && apt-get install --yes --no-install-recommends sudo tini git zip unzip fonts-wqy-zenhei python3-pip python3-venv && \
|
2024-04-11 22:09:41 +08:00
|
|
|
apt-get clean && rm -rf /var/lib/apt/lists/* && \
|
|
|
|
chmod a+rx /usr/local/bin/* && \
|
|
|
|
useradd -l -m -s /bin/bash -N -u "${NB_UID}" "${NB_USER}" && \
|
|
|
|
usermod -aG sudo "${NB_USER}" && echo "${NB_USER} ALL=(ALL) NOPASSWD:ALL" >> /etc/sudoers && \
|
|
|
|
mkdir -p "/opt/base/" && python3 -m venv /opt/base && chown -hR "${NB_USER}:${NB_GID}" "/opt/base" && \
|
|
|
|
chmod g+w /etc/passwd && \
|
|
|
|
mkdir /usr/local/bin/start-notebook.d && mkdir /usr/local/bin/before-notebook.d
|
|
|
|
|
|
|
|
USER ${NB_UID}
|
|
|
|
|
|
|
|
# install jupyter python mamba extension
|
|
|
|
RUN pip install 'jupyterlab' && \
|
|
|
|
pip install jupyterlab-language-pack-zh-CN jupyterlab_tabnine && \
|
|
|
|
pip cache purge
|
|
|
|
|
|
|
|
WORKDIR "${HOME}"
|
|
|
|
|
|
|
|
# Configure container startup
|
|
|
|
ENTRYPOINT ["tini", "-g", "--"]
|
|
|
|
CMD ["start-notebook.sh"]
|