首页 > 解决方案 > 在 Docker 容器中使用 Python 编写输出

问题描述

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

Dockerfile:

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。非常感谢任何帮助!

标签: pythondockerdirectorydockerfiledocker-run

解决方案


您必须将要在其中查看结果的文件夹安装/绑定到容器中。

更改输出文件名以写入另一个文件夹,比如说/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 用户,因此不确定语法。


推荐阅读