我正在使用烧瓶来服务我的应用程序。我正在使用会话池连接 oracle 19c 数据库。我的 wsgi 服务器是 bjoern。它在 Ubuntu 20.04 上运行得非常快。我不是专家,但也许这会给你一些想法。
我的 Dockerfile 是这样的:
# syntax=docker/dockerfile:1
FROM python:3.9.9-buster
WORKDIR /opt/oracle
RUN apt-get update && apt-get install -y libaio1 wget unzip \
&& wget https://download.oracle.com/otn_software/linux/instantclient/1913000/instantclient-basic-linux.x64-19.13.0.0.0dbru.zip \
&& unzip instantclient-basic-linux.x64-19.13.0.0.0dbru.zip \
&& rm -f instantclient-basic-linux.x64-19.13.0.0.0dbru.zip \
&& cd /opt/oracle/instantclient* \
&& rm -f *jdbc* *occi* *mysql* *README *jar uidrvci genezi adrci \
&& echo /opt/oracle/instantclient* > /etc/ld.so.conf.d/oracle-instantclient.conf \
&& ldconfig
RUN apt-get install -y libev-dev
RUN apt-get install -y build-essential
RUN pip3 install flask
RUN pip3 install cx-Oracle
RUN pip3 install bjoern
RUN pip3 install Flask-HTTPAuth
WORKDIR /sapsrv
COPY . .
EXPOSE 5001
CMD ["python3", "srv.py"]
我的 srv.py 就像:
from flask import Flask, jsonify, make_response
import bjoern
import cx_Oracle
app = Flask(__name__)
if __name__=="__main__":
bjoern.run(app, "0.0.0.0", 5001)