Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/docker/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何从主机系统向docker容器提供静态图像?_Python_Docker_Flask - Fatal编程技术网

Python 如何从主机系统向docker容器提供静态图像?

Python 如何从主机系统向docker容器提供静态图像?,python,docker,flask,Python,Docker,Flask,我需要帮助使Flask使用目录中的图像(路径通过使用argparse的程序参数传递)。问题是,我需要让Docker使用容器内的主机目录 检查我的目录结构: Static/0.png main.py 烧瓶代码:main.py import argparse import flask parser = argparse.ArgumentParser() parser.add_argument("--path",default="static") args = parser.parse_args(

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

检查我的目录结构:

Static/0.png
main.py
烧瓶代码:main.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+"/>"

请注意,当我在容器内使用
Static/
目录时,它会工作,但当我在容器外使用路径时,它不会工作。

您可以创建一个卷来执行此操作

在Dockerfile中:

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

运行容器时,必须使用参数
-p:/app/static\u files

指定静态文件的路径。如何运行docker?docker run-d--rm docker\u name