docker运行jupyter

1. 启动容器

docker run -d --name jupyter -p 8888:8888 jupyter/base-notebook

更多镜像可以参照:https://jupyter-docker-stacks.readthedocs.io/en/latest/using/selecting.html#jupyter-tensorflow-notebook

 https://jupyter-docker-stacks.readthedocs.io/en/latest/_images/inherit.svg

2. 查看日志,需要里面的token

docker logs -f --tail 1000 jupyter

3. 找到类似这样的地址,复制token的值

http://127.0.0.1:8888/?token=f608db82801fd00aeede291504291d9aeda7f36d002e3201

4. 访问jupyter页面

http://你的宿主机ip:8888

5. 输入token即可登陆,但是每次重启都会换token,所以需要自己设置自己的密码。

6. 进入容器内部

docker exec -it --user root jupyter bash

7. 设置密码

jupyter notebook password

8. 输入要设置的密码并确认后,会提示密码已经保存到特定文件了(此时理论上应该可以重启容器并用新密码登陆了,但是我的无法重启,因此有了下面步骤)

Enter password: 
Verify password: 
[NotebookPasswordApp] Wrote hashed password to /home/jovyan/.jupyter/jupyter_notebook_config.json

9. 查看新密码

cat /home/jovyan/.jupyter/jupyter_notebook_config.json
{
  "NotebookApp": {
    "password": "argon2:$argon2id$v=19$m=10240,t=10,p=8$sQW/babWm****LlnRnEy+oA$2vTX8Gz**********Hpzg"
  }
}

10. 复制password的值,然后输入 exit 退出容器。

11. 停止并删除刚才的容器,并重新创建容器,NotebookApp.password的值就是刚才复制的内容。

docker run -d --name jupyter -p 8888:8888 jupyter/base-notebook start-notebook.sh --NotebookApp.password='argon2:$argon2id$v=19$m=10240,t=10,p=8$sQW/babWmn3T**************tQdczLHpzg'

12. 此时应该可以使用 http://你的宿主机ip:8888 登陆你的jupyter notebook了。

13. 我的配置在云服务器了,可以在各个地方写代码就很舒服,没电脑也可以在手机写python岂不是很香。

如果有自己的域名,可以配置nginx做反向代理,就可以域名访问了

复制代码
server {
    listen 80;
    server_name  py.yourwebsite.com;

    location / {
        proxy_pass  http://192.168.0.230:8888;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
        proxy_set_header Host $host;
   }
}
复制代码

 

posted @   yanglei.xyz  阅读(1009)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
点击右上角即可分享
微信分享提示