美文网首页
Docker -- jupyter notebook使用方法

Docker -- jupyter notebook使用方法

作者: 有事没事扯扯淡 | 来源:发表于2020-09-08 16:41 被阅读0次

    之前写过用Docker搭建自己的镜像,但是竟然忘记添加jupyter ,真是失策。这里记录一下,以供参考。

    1.启动镜像

    在特定的映射端口启动镜像docker run -p 7777:8888 [other options]

    docker run 是产生容器的命令,而-p 7777:8888的意思是服务器本身的7777端口会映射到container里面的8888端口,前面的7777可以更改为别的数字,只要别和服务器自身已经使用的端口产生冲突就好,后边的8888最好别更改,因为8888是jupyter notebook的默认端口,若是这里改动了8888,就要相对应更改。

    2.在container里安装jupyter notebook

    pip install jupyter notebook
    

    3.配置远程访问jupyter

    3.1.生成密码

    在命令行里输入ipyton,再输入:

    from notebook.auth import passwd
    passwd()
    

    输完之后,设定一个密码,会生成一个sha1的秘钥会有类似如下的结果:


    保存sha1秘钥,然后退出ipython命令行

    3.2.生成jupyter notebook的配置文件

    jupyter notebook --generate-config
    

    这时候会生成配置文件,在~/.jupyter/jupyter_notebook_config.py

    3.3.修改配置文件

    修改要用到vim,若是没有,先运行

    apt-get update
    apt-get install vim
    

    安装好vim之后,运行一下程序打开配置文件vim ~/.jupyter/jupyter_notebook_config.py
    加入如下内容,其中sha1那一串秘钥是上面生成的那一串

    c.NotebookApp.ip='*'
    c.NotebookApp.password = u'sha1:41e4da01dde4:e820dc9c0398eda2dc9323c9e4a51ea1228166a2'
    c.NotebookApp.open_browser = False
    c.NotebookApp.port =8888
    

    8888表明要使用container的8888端口访问jupyter,然后保存退出。

    4.打开jupyter notebook

    输入如下命令,打开jupyter

    jupyter notebook --allow-root 
    

    虽然在这里看到,要求我们输入127.0.0.1:8888来连接jupyter,但是输入以上网址后发现找不到网页。

    这是因为docker产生的container是一个新的环境,而我们连接的是服务器的端口,在第一步时我们把服务器的7777端口和container的8888端口绑定在一起了,所以我们需要连接的是服务器的7777端口。

    所以在本地浏览器输入

    127.0.0.1:7777
    

    输入密码就可以连接到服务器端的jupyter notebook了。


    最近发了更简单直接的!!直接用这个吧~~

    1. 启动docker

    sudo docker run --gpus all -it -p 8888:8888 -v  `本地路径`:/workspace `容器名`  /bin/bash 
    

    2. 启动jupyter(没有先安装)

    jupyter notebook -ip 0.0.0.0 --allow-root --port 8888 --no-browser
    

    !!!完成!!!


    [参考链接]
    https://blog.csdn.net/weixin_40008349/article/details/81135847

    相关文章

      网友评论

          本文标题:Docker -- jupyter notebook使用方法

          本文链接:https://www.haomeiwen.com/subject/cwcjektx.html