我创建了一个Dockerfile,目的是在Docker中执行Jupyter笔记本。看起来像下面的
FROM ubuntu:latest
RUN apt-get update && apt-get install -y python3 \
python3-pip
RUN pip3 install jupyter
WORKDIR /home/me/JupyterOneClick/
RUN pwd
RUN jupyter nbconvert --to python Hello.ipynb
RUN python Hello.py
#CMD ["python","Hello.py"]
但是,构建此映像时出现错误(docker build -t jupyter:latest)。
第6步将jupyter笔记本转换为python文件,然后第7步执行该python文件。
第6/7步:运行jupyter nbconvert --to python Hello.ipynb --->在8516a27588f6中运行 [NbConvertApp]警告|模式'Hello.ipynb'没有文件匹配 此应用程序用于将笔记本文件(* .ipynb)转换为其他各种文件 格式。
jupyter笔记本存储在/ home / me / JupyterOneClick中。
这时,构建过程停止。
我还尝试将第6步和第7步移到Shell脚本中,并从Dockerfile运行该脚本,通过该文件,我可以构建映像,但由于找不到外壳脚本而无法运行它。
命令'/ bin / sh -c chmod + x ./script.sh'返回非零代码:1
谁能告诉我该如何解决?我是一个初学者,但是据我所知,RUN创建了一个新的临时容器,因此它无法找到该文件。
对于任何想知道的人,我没有使用kubeflow或JupyterHub,因为它们允许新的开发环境,因此我必须部署现有的笔记本。
答案 0 :(得分:1)
我不是专家,但您似乎忘记了复制声明。
使用 COPY ./Hello.ipynb /Hello.ipynb
而不是 -- to python
你应该使用 -- to script