我的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