docker - 带有密码文本的 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} 而无需生成哈希?
解决方案
我发现我可以覆盖jupyter_notebook_config.py
in 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
推荐阅读
- powershell - 仅在包含特定关键字的文件上设置 Acl
- sql - 从一个领域消除 < 6 个月的结果,同时不影响其他领域
- javascript - 如何使用 jQuery 或 JavaScript 选择和取消选择复选框
- docker - WSL Alpine:无法运行 docker/更改日期时间
- mysql - 算在 SELECT DISTINCT 查询中吗?
- scala - 为什么在方法调用后添加括号会导致“无法解析符号”?
- python - 如何使用 csv.DictReader 读取特殊字符
- python-3.x - 如何在 AWS EMR 中将 Jupyter notebook 设置为 Python3 而不是 Python2.7
- asp.net-web-api - Angular 7将从web api返回的值乘以一个数字
- xamarin - Xamarin 有条件地显示在派生的 ControlTemplate ContentPresenter 中