在Dockerfile中为docker容器配置Jupyter实验室密码

hl0ma9xz  于 2023-06-29  发布在  Docker
关注(0)|答案(1)|浏览(220)

所以我快疯了。我有一个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)
62lalag4

62lalag41#

啊我,
因此,我重新创建了我的密码哈希,并将其放回Dockerfile中,如上所述,突然一切都工作了-我想我可能已经创建了一个字符不合适的原始哈希。
现在一切都运行得很好,在我的Jupyter服务器Docker设置中没有任何未经散列的密码

相关问题