【发布时间】:2021-09-13 17:16:13
【问题描述】:
我有一个docker文件如下
FROM python:3.6.8
WORKDIR /app
COPY requirements.txt /app/requirements.txt
ADD local-module /app/local-module
RUN python3 -m venv /opt/venv
ADD . /app
RUN . /opt/venv/bin/activate && pip install Cython && pip install -r requirements.txt && pip install /app/local-module && rm -rf /app/local-module && python /app/setup.py install
CMD ["/opt/venv/bin/python3", "/app/module/app_runner.py", "--debug"]
EXPOSE 9000
docker build --tag module:v1 .
这是在服务器中运行应用程序的 app_runner.py 文件
from module import create_app_instance
app = create_app_instance()
if __name__ == '__main__':
app.run(host='0.0.0.0')
docker run -d -p 9000:9000 module:v1
5ac90afde3cc8dfe376d04ba4eaf0edc1611aef067651ec98218a51f600f6a76
以下是 curl 负载和响应
curl -X POST -H "Content-Type: application/json" http://localhost:9000/api-end-point -d '{"key": value, ...}'
curl: (52) Empty reply from server
【问题讨论】:
-
Flask的默认端口是5000,第二个
docker run -p端口号需要和这个匹配。