首页 > 解决方案 > 带有密码文本的 Jupyter Docker

问题描述

我正在尝试运行 Jupyter docker,如何在运行 docker 时传入密码文本?

到目前为止,我不知道如何在 docker run 中传递我的密码文本,而是在运行之前生成密码哈希。

$ HASH=$(docker run -it jupyter/minimal-notebook python -c "from notebook import auth; print(auth.passwd('${JupyterPassword}')))"
$ docker run -it -d -p 8080:8888 -e GEN_CERT=yes jupyter/minimal-notebook start-notebook.sh --NotebookApp.password=${HASH}

无论如何我可以直接传入 ${JupyterPassword} 而无需生成哈希?

标签: dockerjupyter-notebook

解决方案


我发现我可以覆盖jupyter_notebook_config.pyin jupyter/base-notebook,并将其移动到/home/jovyan/.jupyter/在加载时执行

所以我添加了这些行jupyter_notebook_config.py

if 'PASSWORD' in os.environ:
  password = os.environ['PASSWORD']
  if password:
    print("Password updated")
    c.NotebookApp.password = passwd(password)
  del os.environ['PASSWORD']

并在容器启动时移动它们

COPY jupyter_notebook_config.py /home/jovyan/.jupyter/jupyter_notebook_config.py

推荐阅读