【问题标题】:Jupyter Docker with password text带有密码文本的 Jupyter Docker
【发布时间】:2019-11-07 17:19:44
【问题描述】:

我正在尝试运行 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} 而无需生成哈希?

【问题讨论】:

  • 一次性创建哈希然后保存到配置文件然后挂载文件?类似-v mypass.conf:/root/.jupyter/jupyter_notebook_config.py
  • 每次创建新笔记本时都需要轮换密码,因此在创建时要求输入新密码会比较理想

标签: docker jupyter-notebook


【解决方案1】:

我发现我可以覆盖jupyter/base-notebook 中的jupyter_notebook_config.py,并将其移动到/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

【讨论】:

    猜你喜欢
    • 2018-07-30
    • 2012-09-30
    • 1970-01-01
    • 2023-02-26
    • 2015-10-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-05-04
    相关资源
    最近更新 更多