在Docker上部署Jupyter Notebook | 道山神連的博客
0%

在Docker上部署Jupyter Notebook

由于要用到只能在Linux上运行的python包,又懒得装双系统,就了解了一下Docker,配置了一个能在Windows上用的Jupyter Notebook环境。

Docker上Ubuntu的基础配置

去官网上下载一个Docker Desktop,然后pull一个ubuntu镜像。刚pull下来的ubuntu镜像里什么必要的工具也没有,需要自己apt-get安装。(改软件源的配置文件时需要注意按照对应的系统版本去搜索配置文件的写法,否则apt-get会报错)

安装python, python3, pip, pip3, vim等必要软件。

配置Jupyter Notebook

参考了这篇博客

首先安装Jupyter(我的电脑上pip3 config似乎有问题):

1
pip3 install -i https://pypi.tuna.tsinghua.edu.cn/simple jupyter

以及其他必要的第三方库。
然后生成Jupyter配置文件:
1
jupyter notebook --generate-config

修改配置文件~/.jupyter/jupyter_notebook_config.py中的如下几项:
1
2
3
c.NotebookApp.open_browser = False
c.NotebookApp.ip = '*'
c.NotebookApp.port = 8888

设置密码:
1
jupyter notebook password

然后把当前容器commit到notebook镜像。

需要启动Jupyter Notebook时,用如下命令启动notebook容器:

1
docker run -d --name jupyter_pycbc -p 8888:8888 -v //D/DockerShare/:/home/FromHost notebook jupyter notebook --allow-root /home

各参数的含义为:

  • -d:在后台运行
  • -p:将容器的8888端口映射到宿主机的8888端口
  • -v:将容器的/home/FromHost目录挂载到宿主机的D:DockerShare目录下。注意Windows中D盘DockerShare文件夹的表示方式为//D/DockerShare

在宿主机访问localhost:8888即可使用Jupyter Notebook。

配置多个python

参考了这篇博客

之前配置的Jupyter Notebook只能使用python3,现在要同时使用python2和python3,需要进一步配置。

这只需添加python2的ipython kernel:

1
2
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple ipykernel
python -m ipykernel install --user --name python27 --display-name "python27"

再次启动Jupyter Notebook,即可看到两个python。