【发布时间】:2018-05-17 20:36:13
【问题描述】:
我有一个运行 Ubuntu 的 Docker 容器,托管在 Windows 10 Pro 上。 Scrapy 和 Scrapyd 软件包已安装在容器中,一切正常。我使用scrapyd-deploy向Scrapyd添加了一个项目Project A,一切都很好。我可以使用 curl 和 schedule.json API 来安排 Project A 的蜘蛛,然后一直爬行直到奶牛回家。
问题是项目 A 在容器运行之间不会持续存在。在奶牛回家后,停止并运行 Ubuntu 容器,Scrapyd 包含 0 个项目,如 listprojects.json 所示。我已尝试提交容器,但项目不存在。
感谢任何帮助!
【问题讨论】:
-
请将您的问题调整为mcve。您是否在容器上尝试过任何持久性方法?请分享您的撰写文件/ dockerfile 的重要部分,以便我们尝试帮助您。
-
@trust512 感谢您的评论。我假设 Scrapyd 将添加的项目保存到它正在运行的文件系统上的磁盘上,至少它在本机 Windows 上是这样。我已经多次启动和停止在 Ubuntu 容器上运行的 Scrapyd 服务器,并且项目仍然存在。除了我提到的 Docker 提交之外,您能否建议我可以在容器上使用的任何“持久性方法”?
-
当然我们可以让它持久化,但你需要更具体。你如何运行你的
scrapyd? -
我直接从 bash 运行它
-
好的,但我的意思是你是像
docker run -it scrapyd一样运行它还是以某种不同的方式运行它?