【问题标题】:Locate files written by a python script in a container that is not running anymore在不再运行的容器中找到由 python 脚本编写的文件
【发布时间】:2021-12-31 11:50:10
【问题描述】:

我有一个 python 脚本,它使用以下命令将 pandas 数据帧转储到文件中:

dataframe.to_csv(file.csv)

使用 docker 容器执行后:

sudo docker-compose up freqtrade # ...rest of the command

我找不到 file.csv,我的 cwd 是 freqtrade/,但无法访问容器中的文件系统。

也尝试将文件保存到 ubuntu 文件系统中的路径,但出现以下错误:

FileNotFoundError: [Errno 2] 没有这样的文件或目录:'/home/kato/freqtrade/'

【问题讨论】:

    标签: python docker ubuntu docker-compose


    【解决方案1】:

    如果容器已停止且尚未删除,您仍应使用 docker ps-a 找到它:

    docker ps -a
    

    如果您找到了容器 ID,则可以从其文件系统中复制文件,而无需使用 docker cp 启动它:

    docker cp CONTAINER_ID:absolute/path/to/file ./host/target/path
    

    另一个避免将来这样做的解决方案,您可以使用bind mount 运行您的容器(您机器中的目录将映射到容器内的目录):

    docker run -v "$(pwd)"/relative/host_dir:/absolute/container_dir my_image
    

    【讨论】:

      猜你喜欢
      • 2022-01-17
      • 2021-04-14
      • 2014-08-02
      • 2015-05-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-03-01
      • 1970-01-01
      相关资源
      最近更新 更多