我正在使用docker进行数据科学项目。 docker映像包含一个python代码,该python代码读取文件(图像文件),对其进行处理并生成浮点向量作为输出。
我正在使用烧瓶微框架供用户与容器交互。这是服务器端代码(在容器内部运行)。当然是越野车!
from flask import Flask, request
from flask_restful import Api
app = Flask(__name__)
api = Api(app)
@app.route('/process_image', methods=['GET', 'POST'])
def process_image():
params = request.json
with open(params["file_name"]. "r") as f:
# the above access to a file in host machine from docker container,
# will definetly lead to an access error.
# do some processing
pass
这是客户端代码
import requests
file_name = "some-path/image.jpg" # on the host machine
requests.get('http://0.0.0.0:5000/process_image/', json={"file_name": file_name})
通过请求将文件传递到容器的正确方法是什么?我正在寻找一种解决方案,其中客户端代码最少,并且用户必须能够发送存储在主机中任何位置的文件。
我是Docker和Web编程的新手,我将不胜感激任何反馈/建议。预先感谢!