如何将静态图像从主机系统服务到docker容器?

2024-04-25 05:10:19 发布

您现在位置:Python中文网/ 问答频道 /正文

我需要帮助使Flask使用目录中的图像(路径通过使用argparse的程序参数传递)。问题是,我需要让Docker使用容器内的主机目录。你知道吗

检查我的目录结构:

Static/0.png
main.py

烧瓶代码:主.py你知道吗

import argparse
import flask

parser = argparse.ArgumentParser()
parser.add_argument("--path",default="static")
args = parser.parse_args()

app = Flask(__name__,static_folder=args.path)
app.route("/")

def init():
    path = os.path.join(args.path,"0.png")
    return "<img src="+path+"/>"

Dockerfile文件:

FROM python:3-onbuild
EXPOSE 5000
ENTRYPOINT ["python","main.py"]

注意,当我在容器内使用Static/目录时,它可以工作,但是当我在容器外使用路径时,它不工作。你知道吗


Tags: pathpyimport路径目录appparserflask
1条回答
网友
1楼 · 发布于 2024-04-25 05:10:19

您可以创建一个卷来执行此操作。你知道吗

在Dockerfile中:

VOLUME /app/static_files
...
ENTRYPOINT ["python","main.py", "/app/static_files"]

在运行容器时,必须使用参数-p <path>:/app/static_files指定静态文件的路径

相关问题 更多 >