首页 > 解决方案 > 如何查看在 docker 容器中创建的文件?

问题描述

我有一个在文本文件中生成输出的 python 脚本。我已经构建了一个 docker 映像来运行脚本。运行该映像时它成功完成,但我看不到输出文本文件。

我的 Docker 文件是

From python:2.7
LABEL maintainer="ABC"
LABEL description="This Dockerfile creates MTA image"
WORKDIR /Temp
ADD script_v1.py connect.txt /Temp/
RUN pip install pexpect
CMD [ "python", "/Temp/script_v1.py" ]

在 script_v1 脚本中,我提到了 /Temp 位置以生成他的输出

    sys.stdout=open("/Temp/EXPORT_OP.txt","w")

我正在 Linux 容器模式下从 Windows docker 主机运行图像。

标签: docker

解决方案


我看到至少有两种简单的方法可以实现你想要的:

  1. 使用绑定安装。简而言之,您将使主机文件系统中的一个目录对容器可用,并且您将使用它的路径来保存文件。输出将在该文件夹中可用。

  2. 在容器退出后使用docker cp,将文件从容器内的某个位置复制到主机文件系统中。

另一种不会使文件直接在您的主机文件系统上可用的方法是 to docker exec -it <container> bash,这将在容器内为您留下一个打开的终端,您可以使用它cd进入正确的目录和cat文件。


推荐阅读