这是我的第一个问题,请保持温柔:)
我有一个Dockerfile如下:
FROM centos:latest
Maintainer Liz Miller
LABEL description="Image Built with Dockerfile."
RUN yum -y update
RUN yum -y install python-setuptools
RUN easy_install supervisor
RUN mkdir -p /var/log/supervisor
RUN yum -y install which
RUN yum -y install git
RUN yum install python
COPY myscript.py myscript.py
CMD ["python", "/myscript.py"]
而myscript.py python脚本是:
text_file = open('output.txt', 'w')
text_file.write('Hello World')
text_file.close()
当我从此Dockerfile构建镜像时,该镜像正在使用脚本构建并运行,但看不到output.txt。它只是没有被创建。有什么不见了?我该如何解决?
最佳答案
/log/output.txt
docker run -it --rm -v $(pwd)/log:/log imagename
您的脚本会写在容器内,然后直接退出。因此,您将不会在当前目录中看到它。解决此问题的方法是将主机目录装载到容器中,并让脚本在其中写入内容,以便数据可以持久化。
关于python - Dockerfile包含一个写入输出文件的python脚本,但未在容器上创建输出文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44769902/