首页 > 解决方案 > 如何从 docker 中保存 zeppelin 笔记本?

问题描述

我正在为 spark-zeppelin 使用 docker-container。docker 镜像是在这里资助的, https://github.com/Gmousse/docker-zeppelin-python3

我可以使用此命令启动图像并工作,

docker run -it -p 8080:8080 -p 8081:8081 gmousse/docker-zeppelin-python3

为了能够与主机通信,我已经安装了一些带有卷标志的主机路径,如下所示,

docker run -it -v /cephfs:/cephfs -p 8080:8080 -p 8081:8081 gmousse/docker-zeppelin-python3

它工作正常。现在要挂载我添加的 zeppelin 工作目录,

docker run -it -v /cephfs:/cephfs -v my_path_on_host:/zeppelin -p 8080:8080 -p 8081:8081 gmousse/docker-zeppelin-python3

这不运行。

在这个命令中,它实际上是在 /zeppelin 中寻找一个 zeppelin.sh 文件并且失败了。

任何想法,我怎样才能挂载本地卷,并能够在主机上保存 zeppelin 笔记本?

谢谢你的时间,提前...

标签: dockercontainersapache-zeppelin

解决方案


将笔记本存储在本地文件系统上非常方便,尤其是在版本控制下。

所以你只需要挂载 notebook 文件夹,但是你试图挂载整个 zeppelin 文件夹并且在启动容器时找不到 zeppelin 文件。

正确的安装示例:

docker run \
    -p 8080:8080 \
    -v /home/user/zeppelin_notebooks:/zeppelin/notebook \
    apache/zeppelin:0.8.0

docker run \
    -p 8080:8080 \
    --mount type=bind,source="$(pwd)"/zeppelin_notebooks,target=/zeppelin/notebook \
    --rm --name zeppelin apache/zeppelin:0.8.0

推荐阅读