欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

利用 Docker 快速搭建用于数据科学的 jupyter 服务

程序员文章站 2022-06-30 10:51:09
...

安装 docker

基于系统环境安装,参考官方文档

使用 anaconda3 镜像

docker pull continuumio/anaconda3

docker run -i -t -p 8888:8888 continuumio/anaconda3 /bin/bash -c "/opt/conda/bin/conda install jupyter -y --quiet && mkdir /opt/notebooks && /opt/conda/bin/jupyter lab --notebook-dir=/opt/notebooks --ip='*' --port=8888 --no-browser --allow-root"

之后会出现登陆的地址,将 IP 改为 VPS 的 IP 即可登陆

此镜像因为没有 node.js,因此不能修改登陆密码

使用 datascience-notebook 镜像

该镜像提供了 Python, Julia, R 三个数据科学语言环境,以及其他常用的一些环境,ls -a \usr\bin 查看

docker pull jupyter/datascience-notebook

## 开启镜像容器
docker run -d -p 8888:8888 jupyter/datascience-notebook

可以在首次登陆的时候,修改登陆密码

后续配置

换源

pip 换源

对于 pip,更换为阿里云镜像

修改 ~/.pip/pip.conf,没有就创建一个

[global]
timeout = 6000
index-url = http://mirrors.aliyun.com/pypi/simple
trusted-host = mirrors.aliyun.com

或者使用 echo 修改文件

cd ~/.pip

echo -e "[global]\ntimeout = 6000\nindex-url = http://mirrors.aliyun.com/pypi/simple\ntrusted-host = mirrors.aliyun.com" >> pip.conf

清华源:https://pypi.tuna.tsinghua.edu.cn/simple

conda 换源

对于 conda 更换为清华源

修改 ~/.condarc

channels:
  - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/
  - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
  - https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/
  - https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/pytorch/
ssl_verify: true

主题

在浏览器中连接 jupyter,打开新的终端,安装和配置主题

## 安装
pip install --upgrade jupyterthemes

## 主题配置
jt -t oceans16 -fs 12 -ofs 10 -tf loraserif -tfs 12 -nf opensans -nfs 12 -cellw 88%

如需在 jupyter notebook 内绘图,需要在 jupyter notebook 内添加绘图样式设置代码

from jupyterthemes import jtplot
jtplot.style() ## 可以添加参数

如果不想每次都写这两行代码,也可以把上面的代码写入到启动文件中

~/.ipython/profile_default/startup/startup.ipy

这样每次开启 notebook 时,就可以执行这两行代码

主题生效需要重启 jupyter 服务,重启对应的 docker 容器即可

docker restart [container-NAMEs]

安装其他模块

在浏览器中连接 jupyter,打开新的终端,执行安装模块的操作

注意

对于某些 VPS,需要在 VPS 的安全组设置中开放相应的端口

参考

https://docs.docker.com/engine/install/centos/
https://github.com/dunovank/jupyter-themes