Когда я запускаю образ Docker и запрашиваю интерфейс Swagger, я получаю: 502 Bad Gateway
.
Я пытаюсь запустить Connexion (генератор Swagger на основе Flask) с uWSGI на nginx.Я предполагаю, что это потому, что uWSGI неправильно подхватывает мой экземпляр Flask.Однако мне кажется, что мой экземпляр контейнера правильно настроен.
Если вы посмотрите здесь https://github.com/Microsoft/python-sample-vscode-flask-tutorial,, настройка моего приложения и конфигурации аналогична, и она работает без проблем.
В соответствии с документацией Connexion, я должен иметь возможность выставитьЭкземпляр приложения для uWSGI с использованием
app = connexion.App(__name__, specification_dir='swagger/')
application = app.app # expose global WSGI application object
Мой полный код приложения находится здесь:
https://bitbucket.org/lammy123/flask_nginx_docker_connexion/src/master/
Объект Flask / Connexion находится в приложении / __ init__.py
uwsgi.ini:
[uwsgi]
module = application.webapp
callable = app
uid = 1000
master = true
threads = 2
processes = 4
__ init__.py:
import connexion
app = connexion.App(__name__, specification_dir='openapi/')
app.add_api('helloworld-api.yaml', arguments={'title': 'Hello World Example'})
webapp.py:
from . import app # For application discovery by the 'flask' command.
from . import views # For import side-effects of setting up routes.
from . import app
import connexion
application = app.app
Запуск кода с помощью встроенного сервера разработки работает.
Ожидаемое поведение: пользовательский интерфейс Swagger доступен по адресу:
http://localhost:5000/v1.0/ui/#/
при запуске из контейнера Docker.