python - 容器外的 Docker 输入/输出

标签 python docker

我用 python 脚本创建了一个 docker 容器。 python 脚本接受一个输入文件,进行一些处理并将输出文件保存在某个指定位置。

docker run /app/script.py --input /data/input.csv --output /data/output.csv

由于每次运行脚本时输入文件都可能不同,因此我希望它位于 docker 容器之外。我还想将输出存储在容器外的某个地方。

docker run /app/script.py --input /my/local/location/outside/docker/input.csv --output /my/local/location/outside/docker/output.csv

docker 支持这个吗?如果是这样,一个人如何能够实现它?

我的 Dockerfile 如下所示:

FROM phusion/baseimage

RUN apt-get update
RUN apt-get install -y build-essential
RUN apt-get install -y python-dev
RUN apt-get install -y python-pip
RUN apt-get install -y python-numpy && \
    apt-get install -y python-scipy

COPY ./requirements.txt /app/requirements.txt
COPY ./src/script.py /app/script.py

WORKDIR /app
COPY . /app

最佳答案

您可以使用 -v 选项将包含文件的目录挂载为 Docker 数据卷:https://docs.docker.com/engine/tutorials/dockervolumes/

docker run -d -P --name myapp -v /app mydir/app python script.py

这将带来额外的好处,允许您停止容器、更改文件、启动容器并查看容器内反射(reflect)的更改。

关于python - 容器外的 Docker 输入/输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42625947/

相关文章:

python - 将 groupby-apply 结果分配给父数据框

python - 通过 numpy 坐标数组索引 numpy 数组

python - 在Python2.7中导入错误但在Python3中没有

docker - 错误:无法访问SonarQube服务器[http://localhost:9000]

docker - 如何重命名和删除 Dockerfile 中的文件

docker - 如何从 Docker 容器内部访问在 WSL2 上运行的服务?

python - 关于从 PyCharm 安装 SciPy

python - 如何在 Python 中解析和比较 ISO 8601 持续时间?

php - PhpStorm无法从Docker容器读取PHP配置

java - Java使用的内存多于堆大小(或正确大小的Docker内存限制)