Scrapyd 项目不会在 Docker 容器运行之间持续存在

Scrapyd project does not persist between Docker container runs

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

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

感谢任何帮助!

总结评论中的讨论。

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

你这样定义挂载:

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

docs ref