[英]Before stopping the docker-container copy one file and store to the host
我正在尝试构建一个运行python脚本的docker-image
。 基本上,它正在生成.csv
文件。 我想在docker-container
消失之前在我的localhost机器上安装.csv
文件。 以下是我的dockerfile
,任何人都可以帮我如何存储.csv
文件,而无需再次运行docker-container
。
from ubuntu:18.04
run apt-get update && DEBIAN_FRONTEND=noninteractive apt-get install -y \
python3 \
git \
python3-pip
run pip3 install --upgrade tensorflow
run pip3 install opencv-python
run pip3 install keras
run pip3 install psutil
run pip3 install py-cpuinfo
run pip3 install https://github.com/OlafenwaMoses/ImageAI/releases/download/2.0.3/imageai-2.0.3-py3-none-any.whl
workdir /data/code/
COPY . /data/
RUN ls /data/code/ | grep model
RUN chmod +x /data/code/image_prediction.py
CMD ["python3", "./image_prediction.py", "-OPTIONAL_FLAG"]
在主机上装载卷,这将起作用。
如果.csv
/path/in/container
内的/path/in/container
位置创建,则运行
docker run -itd -v /path/on/host/:/path/in/container <image>
这应该使您的.csv
可以在/path/on/host/
上的/path/on/host/
location上使用,即使您的容器已经死亡。
您可以将输出直接发送给主机。 您必须在运行docker镜像时执行此操作。 以下是执行此操作的步骤:
input_dir
。 这个文件夹的完整路径就像/path/to/input_dir/
(你可以通过进入这个文件夹并输入终端pwd
来获取它)。 output_dir
。 该文件夹的完整路径是: path/to/output_dir
运行docker镜像应如下所示:
docker run -it -v /path/to/input_dir/:/data/ -v /path/to/output_dir/:/data/output/ my-image bash
完成后,您的输入将自动在/data/input
可用,并确保将输出目录设置为'/ data / output'
当您运行完脚本后,您将在主机上的文件夹中找到您的输出: /path/to/output_dir/
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.