python - 在 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。非常感谢任何帮助!
解决方案
您必须将要在其中查看结果的文件夹安装/绑定到容器中。
更改输出文件名以写入另一个文件夹,比如说/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 用户,因此不确定语法。
推荐阅读
- mysql - 为什么从 MYSQL 中提取行的最后一部分(LIMIT 和 OFFSET)比提取所有其他部分要慢得多?
- ios - 如何使 iOS 应用程序上的 Firebase 数据库查询更快?
- javascript - JavaScript -按类从或 div 中获取文本
- javascript - 从 React 组件移回时如何获得通知?
- sql - 无法编译 PL/SQL 过程。有什么建议么?
- android - 如何与没有互联网的物联网设备保持连接 - Android 9.0?
- java - 如何将列表合并到 Json java
- dockerfile - microdnf update 命令安装新包而不是仅仅更新现有包
- c - 是否可以在整个程序中访问动态分配的列表节点?
- c# - 我在 .Net MVC 模型中检查注册的单元测试有问题