Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/338.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 从docker容器创建文件_Python_Docker - Fatal编程技术网

Python 从docker容器创建文件

Python 从docker容器创建文件,python,docker,Python,Docker,想知道如何从docker容器中创建文件 例如,在项目中,我打算创建一个文本文件。我得到确认,该过程已经完成,但是,没有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.get

想知道如何从docker容器中创建文件

例如,在项目中,我打算创建一个文本文件。我得到确认,该过程已经完成,但是,没有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


  • 在主机和运行在主机上的容器之间共享文件的最有效方法是使用卷装载。保持这些卷的清晰是很方便的

    为了辩论起见:

  • 假设您在项目的根目录中,
    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


  • 文件将在容器内创建。您希望/希望在何处创建文件?您使用哪个docker命令运行容器?将在容器内创建文件。您希望/希望在何处创建文件?您使用什么docker命令来运行容器?谢谢!关于第3点:如果我从容器内的命令行执行命令(docker run…),我会得到:“docker run”至少需要1个参数。请参阅“docker run--帮助”。用法:docker run[OPTIONS]IMAGE[COMMAND][ARG…]在新容器中运行命令我是否在docker文件中写入此命令?我不知道您的容器图像名称等。因此,
    需要您填写用于运行容器的值。您需要添加
    --volume=…
    part.thx!关于第3点:如果我从容器内的命令行执行命令(docker run…),我会得到:“docker run”至少需要1个参数。请参阅“docker run--帮助”。用法:docker run[OPTIONS]IMAGE[COMMAND][ARG…]在新容器中运行命令我是否在docker文件中写入此命令?我不知道您的容器图像名称等。因此,
    需要您填写用于运行容器的值。您需要添加
    --volume=…
    部分。