在 Docker 容器中使用 Python 写入输出

Writing Outputs Using Python In A Docker Container

在构建 docker 图像 (docker_run_test) 后,我正在尝试将文本 (.txt) 文件写入 Windows 10 上的本地桌面文件夹。 docker build 似乎可以使用“docker build -t docker_run_test”无缝运行,运行 来自 Docker 桌面工作目录的命令文件和 Python 脚本位于 (C:/Users/mdl518/Desktop/docker_tests/)。该脚本是一个简单的打印语句并将打印语句写入 .txt 文件,但我找不到输出 .txt。下面是关联的 Docker 文件和 Python 脚本。

Docker文件:

FROM python:3

ADD docker_test.py ./

RUN pip install pandas

CMD ["python3","./docker_test.py"]

Python脚本(docker_test.py):

import os

print("This is a Docker test.")

with open('docker_test.txt', 'w') as f:
    f.write("This is a Docker test.")

我也搜索了 Docker 图片的内容,但也找不到图片中的输出 .txt。非常感谢任何帮助!

您必须mount/bind将要查看结果的文件夹放入容器中。

更改输出文件名以写入另一个文件夹,假设 /output

with open('/output/docker_test.txt', 'w') as f:

然后要求 Docker 将主机文件夹 %HOMEPATH%\Desktop 绑定到容器 /output :

docker run -v %HOMEPATH%\Desktop:/output docker_run_test

不确定 %HOMEPATH% 语法,因为我是 Linux 用户。