繁体   English   中英

检索由docker python程序编写的.csv文件

[英]Retrieving .csv file written by docker python program

我正在尝试访问我的dockerized python程序正在制作的.csv文件。

这是我的docker文件:

 # Use an official Python runtime as a parent image FROM python:3.7 # Set the working directory to /app WORKDIR /BotCloud # Copy the current directory contents into the container at /app ADD . /BotCloud # Install any needed packages specified in requirements.txt RUN pip install --trusted-host pypi.python.org -r requirements.txt RUN wget http://prdownloads.sourceforge.net/ta-lib/ta-lib-0.4.0-src.tar.gz && \\ tar -xvzf ta-lib-0.4.0-src.tar.gz && \\ cd ta-lib/ && \\ ./configure --prefix=/usr && \\ make && \\ make install RUN rm -R ta-lib ta-lib-0.4.0-src.tar.gz RUN pip install ta-lib # Run BotFinal.py when the container launches CMD ["python","-u", "BotLiveSnake.py"] 

这是我的python文件BotSnakeLive.py中的代码片段

 def write(string): with open('outfile.csv','w') as f: f.write(string) f.write("\\n") write(str("Starting Time: "+datetime.datetime.utcfromtimestamp(int(df.tail(1)['Open Time'])/10**3).strftime('%Y-%m-%d,%H:%M:%SUTC'))+",Trading:"+str(pairing)+",Starting Money:"+str(money)+",SLpercent:"+str(SLpercent)+",TPpercent,"+str(TPpercent)) 

在本地运行我的python程序,将在与我的python程序相同的文件夹中创建outfile.csv。 但是,对于docker,我不确定此文件的结束位置。 任何帮助,将不胜感激。

通常,对不以/开头的文件路径的引用始终相对于当前工作目录进行解释。 除非您进行了某种更改( os.chdir ,一个运行cd的入口点脚本, os.chdir docker run -w选项),它将是您在Dockerfile声明的WORKDIR

因此:您的文件应位于容器的文件系统空间中的/BotCloud/outfile.csv

请注意,容器具有其自己的隔离文件系统空间,该空间在删除容器时会被破坏。 如果您的应用程序进行通信的主要方式是通过文件,则使用非Docker机制(例如Python虚拟环境)将您的应用程序与系统的其余部分隔离起来可能会容易得多。 您可以使用docker run -vdocker cp文件将主机目录安装到容器中。 (请特别注意docker run -v ,如果将数据写入与您的应用程序不在同一目录中的某个位置,将很有帮助。)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM