首页 > 解决方案 > Scrapyd 项目不会在 Docker 容器运行之间持续存在

问题描述

我有一个运行在 Windows 10 Pro 上的 Ubuntu 的 Docker 容器。Scrapy 和 Scrapyd 软件包已安装在容器中,一切正常。我使用scrapyd-deploy向Scrapyd添加了一个项目Project A,一切都很好。我可以使用 curl 和 schedule.json API 安排项目 A 的蜘蛛,然后爬行直到奶牛回家。

问题是项目 A 在容器运行之间不会持续存在。在奶牛回家后,停止并运行 Ubuntu 容器,Scrapyd 包含 0 个项目,如 listprojects.json 所示。我已尝试提交容器,但项目没有持续存在。

任何帮助表示赞赏!

标签: dockerscrapyscrapyd

解决方案


从评论中总结讨论。

您必须将容器中的两条路径挂载到主机系统中才能持久保存您的数据。

您可以这样定义挂载:

$ docker run -it -v runtime-storage:/usr/src/app/runtime_storage -v results-storage:/usr/scr/app/results scrapyd-36

文档参考


推荐阅读