My Dockerfile
私のローカルマシンからテキストファイルを読み込む必要のあるpythonスクリプトを実行します。 run.pyでコンテナの実行中に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"]
テキストファイルを読み込み機能があります:
def read_file(filename):
lines = [line.rstrip('\n') for line in open(filename)]
return lines
私は他の誰かにこのイメージを渡すことだったし、彼らならば、私は思っていましたこれを実行すると、すでに画像の中にfile.txtが保存されているのでしょうか、画像が起動されたときにその人のローカルマシンの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