我的Dockerfile
运行一个python脚本,需要从本地机器读取文本文件。当容器运行时,Docker从本地系统读取文件
Dockerfile
FROM fedeg/python-vim:2
ADD . /code
WORKDIR /code
RUN pip install -r requirements.txt
COPY file.txt /data/file.txt
CMD ["python", "run.py"]
在run.py存在,在文本文件阅读功能:
def read_file(filename):
lines = [line.rstrip('\n') for line in open(filename)]
return lines
我在想,如果我是这一形象传递给别人,他们运行它,file.txt是否已经被保存在图像中,或者docker能够在图像启动时在该人的本地机器上查找该file.txt文件?
我想要的是码头在任何运行图像的机器上寻找名称file.txt
,因此它可以处理另一个file.txt的内容而不是我从本地机器提供的file.txt的内容。
因此,如果其他人拥有图像,并且他们有不同的file.txt他们想运行,他们如何用他们的图像替换已经在我的图像file.txt? – jxn
如果这个想法是任何人都可以添加他们的文件,你应该使用一个安装的卷,而不是在图像中的数据。您仍然可以将卷装载到容器卷,并且将使用您安装的数据。 – herm
我只记得你还可以使用[docker cp](https://docs.docker.com/engine/reference/commandline/cp/)在容器和主机之间复制文件 – herm