因为在外网服务器上使用,系统通过docker的形式干净的使用。发现官方自己提供了标准镜像。(jupyter/scipy-notebook)网站上还有镜[像选择的一些说明][1]。 这里我直接提供我的运行脚本。 docker stop JupyterLab docker rm JupyterLab docker run -d \ -p 8888:8888 \ -e JUPYTER_ENABLE_LAB=yes \ -v /data/docker/jupyter:/home/jovyan/work \ -v /usr/share/zoneinfo/Asia/Shanghai:/etc/localtime \ -v /etc/timezone:/etc/timezone \ --restart=always \ --name JupyterLab jupyterlab-liang:scipy 最后一行第一次使用时需要改为自己选择的镜像名称。 然后第一次可以不带-d的参数,这样会输出用于访问的网址和token。最好不要直接点击。而是复制token之前的地址,访问后,用页面最下端的密码设置区,输入token和新密码,设置密码访问。注意,只有token未使用的第一次设置密码有效。我没成功,所以使用了官方的方法手动设置密码。 jupyter notebook password 然后要重启容器,就可以用密码登录的。但是我是直接commit出自己的版本,然后,利用上面的脚本再次启动。 docker commit a404c6c174a2 jupyterlab-liang:scipy 这样做的主要目的是放置容器更新,导致密码或存档消失。注意,重要文档要放在上面映射到容器的work目录里。 最后,我使用域名访问,会出现一些notfound等莫名奇妙的错误。这里提供我NGINX的代理配置。 server { server_name DOMAIN IP_ADDRESS; # 服务器域名和 IP 地址 listen 80; location / { proxy_pass http://127.0.0.1:JUPYTER_PORT/; # JUPYTER_PORT 为 Jupyter 运行端口 proxy_set_header X-Real-IP $remote_addr; proxy_set_header Host $host; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade"; proxy_redirect off; } } 主要是注意location 这一段。 好了,没什问题了。 [1]: https://jupyter-docker-stacks.readthedocs.io/en/latest/using/selecting.html Last modification:February 15, 2022 © Allow specification reprint Support Appreciate the author AliPayWeChat Like 送杯咖啡,做个交流,谢谢!
One comment
docker exec -it -u root container_id bash
进入root模式,执行一些特殊安装