【问题标题】:How to run a python script that takes a file as input, opens it and prints the content inside a docker container如何运行将文件作为输入的 python 脚本,将其打开并打印 docker 容器内的内容
【发布时间】:2023-02-23 22:45:58
【问题描述】:

我有一个 python 文件 - script.py

import os

filename = os.getenv("filename")
with open(filename) as f:
    message = f.readlines()
    print(message)

还有一个 docker 文件

FROM python:3.9
WORKDIR /app
COPY . /app/
ENTRYPOINT ["python3", "script.py"]

我创建了 docker 镜像。现在我无法成功运行容器。我尝试指定音量但不起作用。

这是我试过的命令:

docker run --volume=<path to folder where I have a text file> --env filename=<path to text file> <docker image name>

输出:

No such file or directory:

【问题讨论】:

  • 你得到了什么输出?什么都没有还是错误?
  • 我得到一个错误:没有这样的文件或目录:
  • 由于 Docker 容器在隔离的文件系统中运行,因此很难将其用于专注于主机文件的用例。您的主机系统可能已经安装了 Python;你能在没有容器的情况下运行这个脚本吗?

标签: python python-3.x docker


【解决方案1】:

您的 --volume 将简单地创建一个安装为您的路径的新卷。您需要将本地目录映射到某个地方,然后将其用作传递给容器的路径的一部分。就像是:

docker run --volume=/tmp/test:/tmp --env filename=/tmp/test.txt container_name

【讨论】:

    猜你喜欢
    • 2021-03-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-10-23
    • 1970-01-01
    • 2011-07-04
    相关资源
    最近更新 更多