所以我快疯了。我有一个Docker文件,其中包含以下行:
RUN echo "c.NotebookApp.password='sha256:d46497dc111d:<password_hash>'">>/root/.jupyter/jupyter_notebook_config.py
我构建我的镜像,然后运行容器作为docker compose指令的一部分。
如果我在容器中打开一个bash终端,我可以找到Jupyter_notebook_config.py文件,其中添加了一行:
c.NotebookApp.password='sha256:d46497dc111d:<password_hash>'
当我在正确的端口上连接到我的机器时,我会看到Jupyterlab欢迎窗口,但没有使用令牌登录的选项(只有当config.py文件中有密码条目时才会发生)。这将显示密码提示,但当我输入密码时,我得到“无效凭据”
所以看起来Jupyterlab正在运行,阅读包含我的密码的配置文件,但只是不允许它。我错过了什么。.救命!
密码文本是使用来自另一个线程的以下Python代码生成的:
from notebook.auth import passwd
hashed_password = passwd(passphrase='<my_password>', algorithm='sha256')
print(hashed_password)
1条答案
按热度按时间62lalag41#
啊我,
因此,我重新创建了我的密码哈希,并将其放回Dockerfile中,如上所述,突然一切都工作了-我想我可能已经创建了一个字符不合适的原始哈希。
现在一切都运行得很好,在我的Jupyter服务器Docker设置中没有任何未经散列的密码