外部环境构建jupyterlab-notebook镜像

20 篇文章 1 订阅
16 篇文章 1 订阅

示例Dockerfile

FROM
# path conda
ENV PATH="/opt/conda/bin:/usr/local/nvidia/bin:/usr/local/cuda
/bin:${PATH}" \
NVIDIA_VISIBLE_DEVICES=all \
CONDA_DIR=/opt/conda \
MINICONDA_VERSION=4.7.5 \
SHELL=/bin/bash \
LC_ALL=en_US.UTF-8 \
LANG=en_US.UTF-8 \
LANGUAGE=en_US.UTF-8 \
HOME=/root
# tini
RUN env |grep -iE "cuda|nvidia|cudnn" | sed 's/^/export &/g' > /etc
/profile.d/cuda-env.sh && \
sed -i "s#$CONDA_DIR/bin:##g" /etc/profile.d/cuda-env.sh && \
echo "en_US.UTF-8 UTF-8" > /etc/locale.gen && locale-gen && \
wget --quiet https://github.com/krallin/tini/releases/download/v0.10.0
/tini && \
echo "1361527f39190a7338a0b434bd8c88ff7233ce7b9a4876f3315c22fce7eca1b0
*tini" | sha256sum -c - && \
mv tini /usr/local/bin/tini && \
chmod +x /usr/local/bin/tini
RUN echo "set directory=/root/.vim/swapfiles/" > /root/.vimrc \
&& echo "set backupdir=/root/.vim/backups/" >> /root/.vimrc \
&& mkdir -p /root/.vim/swapfiles \
&& mkdir -p /root/.vim/backups
# jupyterlab
ADD . /src/jupyter
RUN npm config set registry http://registry.npm.taobao.org/ && \
cd /src/jupyter/jupyterhub && npm install --unsafe-perm && pip install
. && \
cp -R /src/jupyter/notebook /src/jupyter/jupyterhub && \
cp /src/jupyter/notebook/start.sh /usr/local/bin/ && \
cp /src/jupyter/notebook/start-notebook.sh /usr/local/bin/ && \
cp /src/jupyter/notebook/start-singleuser.sh /usr/local/bin/ && \
cp /src/jupyter/notebook/jupyter_notebook_config.py /usr/local/bin/ &&
\
cp /src/jupyter/bmlmodel/bmlmodel /usr/local/bin/ && \
cp /src/jupyter/bmlmodel/notebook_config.yaml /etc/ && \
pip --no-cache-dir install ipywidgets==7.5.0 -i https://pypi.tuna.
tsinghua.edu.cn/simple/ && \
pip --no-cache-dir install jupyterlab==1.2.6 -i https://pypi.tuna.
tsinghua.edu.cn/simple/ && \
jupyter serverextension enable --py jupyterlab && \
conda clean -ay && \
npm cache clean --force && \
rm -rf $CONDA_DIR/share/jupyter/lab/staging && \
rm -rf /root/.cache/yarn && \
rm -rf /root/.node-gyp && \
rm -rf /src/jupyter ~/.cache ~/.npm
EXPOSE 8888
WORKDIR $HOME
# Configure container startup
ENTRYPOINT ["tini", "--"]
CMD ["start-notebook.sh"]
# set timezone
COPY Shanghai /
RUN echo "set timezone" && \
rm -f /etc/localtime && \
mv /Shanghai /etc/localtime

制作步骤

  1. 在镜像制作目录下新建 Dockerfile,示例如上
  2. 需要的依赖文件解压后放在同级目录
  3. docker build -t jupyterlab-test:1.0 .

本地验证

  1. docker run -it -p8888:8888 jupyterlab-test:1.0bash
  2. vi /usr/local/bin/jupyter_notebook_config.py 修改为以下两项内容即可 (具体file内容参见dockerfile)
c.NotebookApp.ip = '0.0.0.0'
c.NotebookApp.open_browser = True
  1. 具体指令 跳转到 jupyter_notebook_config.py 路径下 先执行 jupyter lab 获取token
    运行
    运行 jupyter notebook ,访问展示出来的url地址(127.0.0.1需要替换成物理机ip)
    验证可不可以正常启动,和使用 jupyterlab 界面
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

GeekPlusA

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值