首页 > 解决方案 > Docker运行不保存脚本创建的文件

问题描述

我有以下 Dockerfile

FROM python:3.6
MAINTAINER "Alexey Nikitin"


RUN pip install --upgrade pip
RUN pip install tensorflow
RUN pip install numpy pandas 
RUN pip install keras --no-deps

RUN ["mkdir", "/tmp/data"]
RUN ["mkdir", "/var/log/result"]
RUN ["mkdir", "/model"]


ADD ./data /tmp/data
ADD ./model /model

WORKDIR /model
CMD ["python", "predict.py"]

predict.py 的结果是保存在同一目录中的文本文件。运行后docker run -it toxic我看到文件正在执行。但是当我进入容器时,我没有看到创建的文件。

在此处输入图像描述

如何运行容器并保存脚本创建的文件?

标签: docker

解决方案


据我了解,您的脚本运行一些逻辑,然后完成。一旦你的脚本完成,Docker 容器就会退出并且所有创建的数据都会被删除。要持久保存这些数据,您需要使用volumes,例如:

docker run -it -v $(pwd):/model toxic

在这种情况下,生成的文件将存储在您的当前目录中。


推荐阅读