docker - 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 所示。我已尝试提交容器,但项目没有持续存在。
任何帮助表示赞赏!
解决方案
从评论中总结讨论。
您必须将容器中的两条路径挂载到主机系统中才能持久保存您的数据。
您可以这样定义挂载:
$ docker run -it -v runtime-storage:/usr/src/app/runtime_storage -v results-storage:/usr/scr/app/results scrapyd-36
推荐阅读
- jestjs - 开玩笑 - 在 beforeEach 完成之前执行测试
- c# - 如何从 C# 中的 TimePicker(WPF) 获取价值?
- c# - C# 重写静态方法
- matlab - 使用了“drawnow”,但在脚本结束之前无法使用菜单栏
- angular - 带有@input属性的Angular 7 2路绑定
- powershell - 如何使用 Win32_UserAccount 重命名方法?
- google-cloud-platform - 通过 Terraform 提供具有静态 IP 的 GCP VM 实例
- json - String(data: theData, encoding: String.Encoding.utf8) 返回 nil
- vba - 绑定数据表子窗体在重新查询后在数据表子窗体上查找记录
- javascript - 我在 Auth0 的节点包中遇到了一个无法识别的函数的错误,特别是在他们的 AuthenticationClient 和 ManagementClient API