保存从Docker容器内部抓取的数据csv文件到本地主机

我运行一个python webscraper来收集关于各种网站的文章,然后保存为csv文件。 我一直在手动运行这些,但最近一直试图在谷歌云壳中运行它们。 我有一些依赖关系的麻烦,所以我决定build立一个docker图像来运行我的python刮板

到目前为止,我已经设法创build了一个Dockerfile,用于构build具有所有必需依赖项的容器。

FROM python:3 # Set the working directory to /app WORKDIR /app # Copy the current directory contents into the container at /app ADD . /app # Install any needed packages specified in requirements.txt RUN pip install --trusted-host pypi.python.org -r requirements.txt RUN pip install lxml COPY Fin24 ./Fin24 COPY scraped_list.csv ./scraped_list.csv # Run fin24.py when the container launches CMD ["python3", "fin24.py"] 

fin24.py包含我的刮刀。 Fin24是一个txt文件,它包含了我的文章链接的所有基础URL,在进入每篇文章和提取内容之前。 scraped_list.csv包含我已经刮过的所有以前的网站,我的Python脚本检查,以确保我不再刮同一篇文章。

运行以上,我可以看到它的作品。 python脚本在find的所有网站都被截取后停止。 不过,我猜测它是保存在docker容器内的csv文件(输出)。 我怎么能把它保存到我正在运行docker的目录?

最终,我只想简单地将Dockerfile上传到我的Google云壳,然后将其作为cronjob运行,并将所有输出保存在shell中。 任何帮助将非常感激

您需要在Docker部署中安装该path。 为此,您需要做两件事:1.在Dockerfile中添加一个卷

 WORKDIR /path/in/container VOLUME ["/path/in/container"] 

2.用-v选项运行你的容器

 docker run -i -t -v /path/on/host:/path/in/container:rw "container name"