docker容器安装jupyter notebook(安装、配置、修改全过程)

37 篇文章 14 订阅
32 篇文章 0 订阅

一、镜像拉取

Docker hub官网查找自己想要的docker image

https://hub.docker.com/

例如,本文使用miniconda3的lastest版本:

使用命令拉取镜像:

$ docker pull continuumio/miniconda3

二、启用容器

$ docker run -id 
-p XXXX-XXXX:XXXX-XXXX 
-p XXXX:xxxx 
--gpus all
--name XXXX 
--restart always 
-v /home/XXXX:/data  
--user root continuumio/miniconda3:latest

其中-p为端口映射,a:b,a为宿主机端口,b为容器内部端口。

其中宿主机的一个端口只能映射到容器内部的某一个端口上

       比如:8080->80之后,就不能8080->81。

但是容器内部的某个端口可以被宿主机的多个端口映射,比如:8080->80,8081->80,8082->80

查看端口映射命令:

$ docker port CONTAINER_ID

 三、容器内安装jupyter notebook

# 更新apt-get
$ apt-get update

# 安装python dev包
$ apt-get install python-dev

# 安装jupyter
$ pip install jupyter

四、配置jupyter notebook

配置包括可以外部访问、设置密码、端口号、防火墙关闭。

首项,jupyter notebook默认端口为8888,并且不允许docker外部访问,想要开启必须配置jupyter_notebook_config.py文件。

# 首先初始化jupyter_notebook_config.py
$ jupyter notebook --generate-config

# 使用ipython生成密钥
$ ipython
[1]:from notebook.auth import passwd
[2]:passwd()
Enter password: XXXX
Verify password: XXXX
Out[2]: '生成的一串密钥'
# 注意保存生成的密钥

# 编辑jupyter_notebook_config.py
$ vim /root/.jupyter/jupyter_notebook_config.py

# 设置c.NotebookApp.password,注意前面加 u
c.NotebookApp.password=u'生成的一串密钥'

# 设置外部访问
''' 连通性设置
c.NotebookApp.allow_remote_access = True
''' ip设置
c.NotebookApp.ip='*'
''' 禁止自动打开浏览器
c.NotebookApp.open_browser = False
''' 端口设置
c.NotebookApp.port = XXXX

# 启动jupyter notebook
$ jupyter notebook

放行linux防火墙:

# 放行你所设置的端口防火墙
# 注意映射问题
$ sudo firewall-cmd --zone=public --add-port=XXXX/tcp --permanent

# 重启防火墙
$ sudo systemctl restart firewalld

 即可正常从网页端访问jupyter notebook,第一次需要输入密钥,以后会记住密钥。

五、个性化设置

安装jupyter notebook的插件。

# 安装插件前记住停止jupyter notebook
# pip安装插件
$ pip install jupyter_contrib_nbextensions

# 配置 nbextension
$ jupyter contrib nbextension install --user --skip-running-check

# 重启jupyter notebook
$ jupyter notebook

选取插件控制器:

 

 推荐以下插件:

  • Table of Contents (2):根据markdown的标题栏自动生成目录,有个按钮,可以自动添加数字编号;
  • Code prettify:对代码进行格式化;
  • Collapsible Headings:可以根据headings折叠区域;
  • Codefolding:可以对代码块进行折叠;
  • ScrollDown:当代码输出内容过长,自动下拉滚动条;
  • 其他功能自行查找示例!

 下面配置工作目录,首次打开会是根目录‘/’下的工作环境,不太方便,按个人需求配置。

# 编辑/root/.jupyter/jupyter_notebook_config.py
$ vim /root/.jupyter/jupyter_notebook_config.py

# 修改路径
c.NotebookApp.notebook_dir = 'XXX'

# 重新启动jupyter notebook
$ jupyter notebook

最后效果如下:

 大功告成!

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值