Docker搭建jupyterla

拉镜像

docker pull captainji/jupyterlab

启动jupyterlab服务

docker run -d \
-p 8888:8888 \
-e JUPYTER_ENABLE_LAB=yes \
-v /data/docker/jupyter:/usr/local/src/jupyterlab_workspace \
-v /usr/share/zoneinfo/Asia/Shanghai:/etc/localtime \
-v /etc/timezone:/etc/timezone \
--restart=always \
--name JupyterLab captainji/jupyterlab

获取jupyterlab 访问的token

# 获取容器日志,看日志中的token
docker logs JupyterLab

####################################
[I 2022-02-27 21:41:33.955 ServerApp] http://3c12d28a99a2:8888/lab?token=97c99de9e4b3ea86ebf567d8e1290c11023d165b7351156c
[I 2022-02-27 21:41:33.955 ServerApp]  or http://127.0.0.1:8888/lab?token=97c99de9e4b3ea86ebf567d8e1290c11023d165b7351156c
[I 2022-02-27 21:41:33.955 ServerApp] Use Control-C to stop this server and shut down all kernels (twice to skip confirmation).
[C 2022-02-27 21:41:33.958 ServerApp] 
    
    To access the server, open this file in a browser:
        file:///root/.local/share/jupyter/runtime/jpserver-7-open.html
    Or copy and paste one of these URLs:
        http://3c12d28a99a2:8888/lab?token=97c99de9e4b3ea86ebf567d8e1290c11023d165b7351156c
     or http://127.0.0.1:8888/lab?token=97c99de9e4b3ea86ebf567d8e1290c11023d165b7351156c
####################################
上面链接中的97c99de9e4b3ea86ebf567d8e1290c11023d165b7351156c 就是访问的token

访问jupyterlab

# 注意:云服务器的话必须开通端口8888的防火墙,否则访问不到
http://服务器ip:8888/lab?token=97c99de9e4b3ea86ebf567d8e1290c11023d165b7351156c

设置jupyterlab自定义密码访问

查看jupyterlab 配置

# 进入容器
docker exec -it JupyterLab /bin/bash
# 进入jupyterlab配置文件所在目录
cd ~/.jupyter/
# 利用ipython生成密码
root@3c12d28a99a2:~/.jupyter# ipython
Python 3.8.6 (default, Sep 25 2020, 09:36:53) 
Type 'copyright', 'credits' or 'license' for more information
IPython 7.19.0 -- An enhanced Interactive Python. Type '?' for help.

In [1]: from notebook.auth import passwd

In [2]: passwd()
Enter password: 
Verify password: 
Out[2]: 'argon2:$argon2id$v=19$m=10240,t=10,p=8$R7ikdjMB7JBPTsV/XZPwUA$WYIpSx6zvn9H2HI4XIEHyA'


修改jupyterlab 配置文件

vi jupyter_lab_config.py

# 在配置文件底部增加以下内容(shift+g直接到文件底部)
c.NotebookApp.password ='argon2:$argon2id$v=19$m=10240,t=10,p=8$R7ikdjMB7JBPTsV/XZPwUA$WYIpSx6zvn9H2HI4XIEHyA' #秘钥(上一步获取的密钥)

重启jupyterlab容器

docker restart JupyterLab
# 关闭浏览器重新访问

你可能感兴趣的:(docker,docker)