在码头工具上验证Jupyter笔记本

时间:2017-05-17 16:49:01

标签: docker jupyter-notebook

我正在尝试在我的Mac笔记本电脑上安装jupyter笔记本电脑。使用以下选项

docker run -dit --rm -p 8888:8888 gcr.io/tensorflow/tensorflow

容器启动,我可以按预期在http://[cointainer-IP]:8888进行评估。

然而,它需要我进入身份验证屏幕并要求提供令牌。如何获取令牌,我应该在docker容器中查找哪个日志

3 个答案:

答案 0 :(得分:3)

容器的stdout会为您提供一个特殊的URL,其中包含一个可供您登录的令牌。您可以在前台运行(不使用-d),也可以只使用docker logs <container_id>检查当前容器日志。在那里,您应该看到如下输出:

[I 16:57:05.859 NotebookApp] Writing notebook server cookie secret to /root/.local/share/jupyter/runtime/notebook_cookie_secret
[W 16:57:05.871 NotebookApp] WARNING: The notebook server is listening on all IP addresses and not using encryption. This is not recommended.
[I 16:57:05.877 NotebookApp] Serving notebooks from local directory: /notebooks
[I 16:57:05.877 NotebookApp] 0 active kernels 
[I 16:57:05.877 NotebookApp] The Jupyter Notebook is running at: http://[all ip addresses on your system]:8888/?token=42685cc246e6571c0f16417327fbf4c398061125c00edea5
[I 16:57:05.877 NotebookApp] Use Control-C to stop this server and shut down all kernels (twice to skip confirmation).
[C 16:57:05.878 NotebookApp] 

    Copy/paste this URL into your browser when you connect for the first time,
    to login with a token:
        http://localhost:8888/?token=42685cc246e6571c0f16417327fbf4c398061125c00edea5

答案 1 :(得分:1)

您还可以使用--NotebookApp.token=''脚本的start-notebook.sh参数禁用令牌或添加自定义令牌。从终端处理令牌通常会导致错误并且不舒服。

禁用令牌

轻松如下:

docker run -d -p 8888:8888 jupyter/pyspark-notebook start-notebook.sh --NotebookApp.token=''

自定义令牌

但是,不建议您这样做,您可以选择定义简单密码:

docker run -d -p 8888:8888 jupyter/pyspark-notebook start-notebook.sh --NotebookApp.token='MY_EASY_PASSWORD'

答案 2 :(得分:0)

我为自己编写了以下代码,以自动打开浏览器并输入身份验证:

docker exec -it <docker container name> bash -c 'jupyter notebook list' | grep http | cut -f1 -d ' ' | xargs xdg-open

在Ubuntu 18.04上运行