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;
   }
}

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM