docker - 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 容器就会退出并且所有创建的数据都会被删除。要持久保存这些数据,您需要使用volumes,例如:
docker run -it -v $(pwd):/model toxic
在这种情况下,生成的文件将存储在您的当前目录中。
推荐阅读
- ios - 完成或删除操作后,tableview 中的第一行不会消失
- azure - 在将文件上传到 Azure Blob 存储期间,“远程主机强制关闭了现有连接”
- node.js - Array of users not passing to the view template
- bookdown - 无法打开 https://yihui.name/tinytex/ 及相关页面
- python - AttributeError:“str”对象没有属性“courseGrade”
- php - 在 Eloquent ORM 中更新相关模型
- haskell - 从 Thinking With Types 理解 Curry-Howard 同构练习
- arrays - Google Sheets: Array formula for fixed cell value
- excel - 第 3 次迭代后 VBA Web 抓取代码循环失败
- python - 有没有办法通过快速将其转换为 numpy 矩阵来搜索 python 中的列表?