[英]how to read a file from a local directory from python code in a docker container?
我试图将我的 python 代码容器化,这正在工作,构建 docker 映像,运行容器并在我的 app.py 文件中调用 python 代码。 接下来,我希望能够上传我的 python 代码从应用程序的根目录读取以处理一些数据的 sample.txt 文件,下例中的 sample.txt。 但是这个文件需要更新,我希望能够更新这个文件并运行容器,而不构建图像。 我如何创建/挂载一个目录并将 csv 文件放在那里并给出我的 python 代码的路径?
应用程序.py
import pandas as pd
print pd.read_csv('sample.csv')
...
泊坞窗文件
# Dockerfile
FROM debian:10.3-slim
WORKDIR /app
RUN apt-get update && apt-get -y dist-upgrade
RUN apt-get -y install apt-utils \
build-essential \
python3 \
gcc \
python3-dev \
python3-pip \
python3-numpy \
python3-pandas
COPY requirements.txt /app/requirements.txt
RUN pip3 install -r requirements.txt
# Copy the python script
COPY modbus_to_influx.py /app/modbus_to_influx.py
CMD ["python3", "app.py"]
要求.txt
numpy
pandas
当您docker run
时,您可以(绑定)将主机上的文件夹/文件挂载为容器上的文件夹/文件:
docker run \
--interactive --tty --rm \
--volume=/path/to/host/file:/path/to/container/file \
your-container
例如,如果您在主机的根目录中有example.csv
,并且您希望/data
容器中的 Python 应用程序可以访问它,您将:
docker run \
--interactive --tty --rm \
--volume=/example.csv:/data/example.csv \
your-container
注意文件名必须包含在
--volume=host-path:container-path
的host-path
和container-path
元素中,允许您将主机的文件 (example.csv
) 重命名为容器上的其他内容。
或者您可以使用docker cp [OPTIONS] CONTAINER:SRC_PATH DEST_PATH|-
https://docs.docker.com/engine/reference/commandline/cp/
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.