gpt4 book ai didi

python - 从Docker容器创建文件

转载 作者:行者123 更新时间:2023-12-02 21:02:17 27 4
gpt4 key购买 nike

想知道如何从docker容器内部创建文件。

例如,在this项目中,我旨在创建一个文本文件。我确认该过程已完成,但是没有txt文件。

import logging
import os

logging.basicConfig(format='%(asctime)s - [%(processName)s - %(threadName)s] %(name)s - %(levelname)s - %(message)s', datefmt="%Y-%m-%d %H:%M:%S", level=os.getenv('LOGLEVEL', 'INFO'))

logger = logging.getLogger(__name__)

f= open("example.txt","w+")
for i in range(10):
f.write("This is line %d\r\n" % (i+1))
f.close()
logger.info(f'Successfully created text file.')

我究竟做错了什么?

最佳答案

在主机和运行于其上的容器之间共享文件的最有效方法是使用卷挂载。保持这样的卷不同很方便。

为了论证:

  • 假设您位于项目的根目录中,请使用mkdir ./data在与./src文件夹相同的级别创建目录。
  • 将您的代码(以证明要点)更改为open("/aha/example.txt","w+") NB 是的,/aha不是/data ...继续阅读。
  • 运行容器,并将主机的(!)./data作为./aha:docker run --interactive --tty --volume=${PWD}/data:/aha ...装入容器。 NB 这会将主机的${PWD}/data作为目录/aha挂载到容器中。 IIRC您必须使用${PWD}提供绝对路径
  • Python代码完成后,容器中将包含一个名为/aha/example.txt的文件,并且您的主机(!)应包括一个名为${PWD}/data/example.txt的文件
  • 关于python - 从Docker容器创建文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60044188/

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