#amazon-web-services #docker #flask
#amazon-веб-сервисы #docker #flask
Вопрос:
Я следую тестовому курсу Flask, подготовленному Майклом Херманом. Я застрял на этапе развертывания контейнерного приложения Flask на AWS. Кажется, все настроено правильно, но когда я пытаюсь подключиться к кластеру с помощью public_ip: 5001 / users, я получаю экран «Невозможно подключиться». правильно выбрана группа безопасности экрана «Входящий порт «, «исходящий порт «, «ip-адрес
«.
Комментарии:
1. Для контекста, на какую службу вы развертываете? Обычно это ECS, EC2, Elastic Beanstalk и т. Д., Но это очень поможет узнать, Какой из них. Я предполагаю, что ваша группа безопасности либо неправильно настроена, либо не выбрана.
2. пожалуйста, смотрите прилагаемые скриншоты. Это EC2.
3. Хорошо, другая распространенная проблема заключается в том, что порты в ваших контейнерах docker могут быть неправильно сопоставлены с вашим хост-компьютером. Можете ли вы правильно получить доступ к сервису через порт 5001 при подключении по SSH к вашему экземпляру EC2? Если нет, то вы, вероятно, столкнулись с проблемой сопоставления портов.
4. группа безопасности @DrSatan1 выбрана и настроена правильно. Смотрите скриншот.
5. @DrSatan1 Я не подключен к экземпляру через SSH. Мне не приходило в голову, что это необходимо.
Ответ №1:
Перед выполнением сборки убедитесь, что ваш клиент Docker направлен на компьютер Docker на AWS. Другими словами, вы можете выполнять сборку локально, а не на удаленном компьютере.
$ docker-machine env testdriven-prod
$ eval $(docker-machine env testdriven-prod)
$ docker-compose -f docker-compose-prod.yml up -d --build
Если это не исправит проблему, проверьте журналы, чтобы убедиться, что сборка работает:
$ docker-compose -f docker-compose-prod.yml logs -f
Комментарии:
1. Привет, Майкл, спасибо, что нашел время ответить на этот вопрос. Локальная сборка работает как шарм. Я могу подключиться к приложению на локальном хосте: 5001 / users, но при попытке доступа к нему через AWS я получаю это в журналах:
nginx_1 | 2019/04/12 21:00:41 [emerg] 1#1: unknown "server" variable
2. Пожалуйста, смотрите здесь send.firefox.com/download/4fe7ba8fddf1c9f1/… Я вижу, что он пытается создать базы данных, но получает запрос на завершение работы и, следовательно, не может создать переменную «server» и завершает работу, возвращая 1. Я не собираю намного больше, чем это.
3. Срок действия этой ссылки истек.
4. Попробуйте сейчас эту ссылку send.firefox.com/download/de529214216b71d1 /…
5. Похоже, проблема связана с вашей конфигурацией Nginx:
unknown "server" variable