加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

python-使用jupyter笔记本运行docker映像的问题

发布时间:2020-12-16 03:22:02 所属栏目:安全 来源:网络整理
导读:我的文件夹中有一个jupyter笔记本和一个数据文件.我做了一个Dockerfile并写了以下几行 FROM jupyter/base-notebookARG export_file=FooD_Kind.csvRUN pip install jupyterRUN pip install numpyRUN pip install matplotlibRUN pip install pandasRUN pip ins

我的文件夹中有一个jupyter笔记本和一个数据文件.我做了一个Dockerfile并写了以下几行

FROM jupyter/base-notebook

ARG export_file=FooD_Kind.csv

RUN pip install jupyter

RUN pip install numpy

RUN pip install matplotlib

RUN pip install pandas

RUN pip install pulp

COPY $export_file FooD_Kind.csv

COPY task_4kind.ipynb /

CMD ["jupyter notebook","task_4kind.ipynb"]

我可以使用docker build -t nameofimage成功构建映像,但是当我执行docker run -it nameofimage时.我收到错误[FATAL tini(7)] exec jupyter notebook失败:没有这样的文件或目录.

如何在docker中运行此jupyter笔记本?

编辑:

我在最后一行尝试了两次替换,
我将最后一行替换为

# Start the jupyter notebook
ENTRYPOINT ["jupyter","notebook","--ip=*"]

它运行并在屏幕上给出一个令牌,但是当我将该令牌粘贴到localhost时,它给出了无效的凭证错误

然后我将最后一行替换为

CMD jupyter notebook --port=8888 --no-browser --ip=0.0.0.0 --allow-root

它运行并在屏幕上给出一个令牌,它给出了无效的凭证错误

最佳答案
如果选中original Dockerfile,则会发现以下内容;

ENTRYPOINT ["tini","-g","--"]
CMD ["start-notebook.sh"]

# Add local files as late as possible to avoid cache busting
COPY start.sh /usr/local/bin/
COPY start-notebook.sh /usr/local/bin/
COPY start-singleuser.sh /usr/local/bin/

start-notebook.sh将为您提供有效的令牌.后续文件允许与图像进行交互,这些选项在docs中进行了描述.

请注意还有更多警告,例如哪个用户正在运行Dockerfile中描述的命令:root或jovyan(Jupyter用户)?由root执行的命令可能会以不允许jovyan进行设置的方式设置权限,例如加载给定的包.为了解决这个问题,所有Jupyter(基本笔记本和派生的)Dockerfile中都有额外的一行:

RUN fix-permissions /etc/jupyter/

Here是一个派生笔记本的外观示例.

本质上,删除您的自定义ENTRYPOINT / CMD并使用原始的ENTRYPOINT / CMD或确保您例如正确获得令牌.另外,修复权限.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读