我想在后台运行一个jupyter笔记本,而不打印任何内容到控制台。我发现对于bash在question此解决方案:在Docker背景下运行Jupyter笔记本
jupyter notebook &> /dev/null &
但我运行在一个码头工人容器jupyter,并希望它通过CMD
在后台启动。我如何在sh中做同样的事情?
我想在后台运行一个jupyter笔记本,而不打印任何内容到控制台。我发现对于bash在question此解决方案:在Docker背景下运行Jupyter笔记本
jupyter notebook &> /dev/null &
但我运行在一个码头工人容器jupyter,并希望它通过CMD
在后台启动。我如何在sh中做同样的事情?
我得到了它使用设置的工作:
https://github.com/jupyter/docker-stacks/tree/master/minimal-notebook
的伎俩是安装TINI,并把下面的代码放到一个start-notebook.sh脚本:
#!/bin/bash
exec jupyter notebook &> /dev/null &
,这是比添加到路径用:
COPY start-notebook.sh /usr/local/bin/
和
RUN chmod +x /usr/local/bin/start-notebook.sh
然后,我可以设置CMD ["start-notebook.sh"]
在启动时启动jupyter在后台运行的容器。
你可以做到这一点,执行下面的命令
jupyter notebook --allow-root &> /dev/null &
您可能会看到jupyter命令需要--allow-root
选项警告如果执行jupyter notebook
命令作为一个码头工人容器根。
到目前为止,我不知道一种方式,文档没有看到,表明这是可能的默认情况下。但是,您的解决方案应该可以工作,在Docker的CMD行中添加此行。 – Ivan
谢谢@Ivan问题是docker在sh中运行CMD命令,而不是在bash中,它在sh中似乎没有相同的效果。 – MrLoh