【发布时间】:2020-06-15 18:54:57
【问题描述】:
我正在尝试对 python 脚本进行 dockerize,其中存在文本文件和 CSV 文件的文件写入。但它不起作用,文件没有生成。
作为参考,我的代码是
FROM python:3
ADD ./HMS.py /
ADD ./constants.py /
ADD ./Docker.py /
ADD ./SNT.py /
ADD ./Utility.py /
RUN pip install --trusted-host pypi.org --trusted-host files.pythonhosted.org docker
RUN pip install --trusted-host pypi.org --trusted-host files.pythonhosted.org grepfunc
RUN pip install --trusted-host pypi.org --trusted-host files.pythonhosted.org requests
CMD [ "python", "./HMS.py" ]
但是,当我在外面运行 python 脚本时,我能够生成文件。我可以知道为什么它没有在工作目录中生成。
更新
def write_log(self, filename, message, type='info'):
with open(filename, 'a') as log:
log.write('\n' + message)
def write_csv(self, filepath, data):
with open(filepath, 'a', newline='') as file:
writer = csv.writer(file)
writer.writerow(data)
常量文件包含路径
LOG_FILE='./snt_alarm_log.txt'
COMPONENT_NAME='SNT Alarm'
DB_FILE='./snt.csv'
【问题讨论】:
-
你使用什么标志来启动 docker 容器?你能粘贴整个 docker run 命令吗?
-
你是如何运行容器的?输出是什么?如果
HMS.py很简单,我们来看看。否则,请尝试使用仅写入文件的简单脚本重现该问题。另外,我认为您那里有一些不必要的ADD命令。 -
@prithajnath docker run sntalarmdocker_snt
-
我们会将一些消息和状态写入txt文件和CSV文件
-
HMS.py 到控制台的输出只是 UP 或 DOWN。但是我们正在将一些消息和状态写入文本文件和 CSV 文件