gpt4 book ai didi

python - 使用Docker时如何将文件写入主机?

转载 作者:行者123 更新时间:2023-12-02 19:00:28 26 4
gpt4 key购买 nike

这里对Docker非常新。

我有以下非常简单的Dockerfile

FROM python
COPY . /app
WORKDIR /app
RUN pip install my_api.tar.gz
RUN pip install -r requirements.txt
CMD python ./main.py

我的 main.py只是
import pandas as pd
import glob, os
import my_api

def main():
isins_df = my_api.getInfo()
isins_df.to_csv('data_from_docker.csv', index = False)
print('\noutput df: \n{}'.format(isins_df))


if __name__ == "__main__":
main()

API会返回正确的数据。将结果保存到主机时,我很困惑。如何才能做到这一点?

谢谢

最佳答案

您可以将VOLUME添加到您的Dockerfile中:

FROM python
COPY . /app
WORKDIR /app
VOLUME /app
RUN pip install my_api.tar.gz
RUN pip install -r requirements.txt
CMD python ./main.py

然后,在运行该镜像时,您需要传递 --volume标志以将该卷安装到主机上的某个路径:
docker build -t my_image .
docker run --volume=/path/on/host:/app my_image

如果您希望将卷挂载到构建Dockerfile的目录中,则可以执行以下操作:
docker build -t my_image .
docker run --volume=$(pwd):/app my_image

两者都会使容器的 /app目录的内容与主机上指定目录的内容“同步”,因此脚本在容器中创建的文件也将出现在主机上。

关于python - 使用Docker时如何将文件写入主机?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60889211/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com