阿里云服务器下使用docker部署jupyter

最近计划了解faiss,但是faiss无法在windows下安装,因此打算把faiss部署到服务器上进行一些简单的测试,然后学长就推荐了一个交互式笔记本jupyter。

这里主要记录一下如何在镜像里部署jupyter。

不使用Docker直接部署

使用conda安装jupyter

conda install jupyter

创建一个配置文件:

jupyter notebook --generate-config

由于我使用的是root账户,因此该配置文件的路径为:

/root/.jupyter/jupyter_notebook_config.py

接着是使用note.auth的passwd函数生成一个密钥。

>from jupyter.auth import passwd
>passwd()
>**输入两次密码后会返回一个密钥,保存

然后修改jupyter_notebook_config.py中的一部分语句,如下:

## notebook服务会监听的IP地址.
c.NotebookApp.ip = '0.0.0.0'
## 用于笔记本和内核的目录。
c.NotebookApp.notebook_dir = '/code'
## 默认不打开浏览器
c.NotebookApp.open_browser = False
#  The string should be of the form type:salt:hashed-password.
c.NotebookApp.password = 'sha1:输入刚才给的密钥'
## notebook服务会监听的IP端口.
c.NotebookApp.port = 8888


 接着在命令行输入下列语句开启:

jupyter notebook

然后在浏览器输入ip:8888后就可以访问。

使用Docker

使用Docker出现的问题主要有:

  1. conda安装jupyter
  2. 配置文件

对于第一个问题,本镜像以conda/miniconda3为基础镜像;对于第二个问题,我们会直接用到刚才得到的配置文件。

Dockerfile文件如下:

FROM conda/miniconda3

VOLUME ['/code']
WORKDIR /code

RUN conda install -y jupyter
# add configuration
RUN mkdir -p /root/.jupyter
COPY jupyter_notebook_config.py /root/.jupyter/
# run
CMD jupyter notebook --allow-root
 
EXPOSE 8888

Dockerfile文件会使用conda安装jupyter,并把刚才生成的配置文件放到镜像的对应目录里,之后直接运行jupyter notebook。 docker-compose.yml文件如下:

version: "2.2"
services:
   detail:
     build: .
     volumes:
       - ./workfiles:/code
     ports:
       - "8888:8888"

 该文件首先会把本目录下的workfile文件夹映射到镜像的/code文件夹下,然后会把8888和镜像的8888端口映射。

我的文件目录如下:

之后输入docker-compose up,网络顺利的话镜像很快生成,这时候可以使用

docker-compose up -d

让镜像后台运行即可。 

注:jupyter默认使用的不是conda的环境,如果想使用conda环境,则可以参考jupyter notebook 添加 conda 环境,在上述操作完成后,就可以在新建文件时显示出:

base即为conda的环境,这里仍然命名为base。

参考文档:

在服务器上使用jupyter

拓展:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值