Доступ к контейнеризованному приложению Django из общедоступной конечной точки IPv4 ECS - PullRequest
0 голосов
/ 22 июня 2019

У меня есть докернизированное приложение django, которое хранится в ECR. Когда я настраиваю новый кластер ECS (используя Fargate), это изображение загружается правильно, и я вижу журналы в Cloudwatch:

20:12:21 Operations to perform:
20:12:21 Apply all migrations: admin, auth, contenttypes, sessions
20:12:21 Running migrations:
20:12:21 No migrations to apply.
20:12:23 No changes detected
20:12:25 Watching for file changes with StatReloader
20:12:25 Performing system checks...
20:12:25 System check identified no issues (0 silenced).
20:12:26 June 22, 2019 - 20:12:26
20:12:26 Django version 2.2.2, using settings 'config.settings'
20:12:26 Starting development server at http://127.0.0.1:8000/
20:12:26 Quit the server with CONTROL-C.

но когда я добрался до общедоступного ipv4, указанного в разделе сведений о сети задачи, и зашёл по адресу: 8000 в моем браузере, ничего не загружается, и я не вижу никаких запросов на сервер в контейнере в облачном хранилище.

Мне интересно, связана ли проблема с использованием: python manage.py runserver 0.0.0.0:8000 в настройках моего контейнера или, альтернативно, в группе безопасности и т. Д. Но я уже разрешил входящий трафик на 127.0.0.1 & 0.0.0.0 порт 8000 внутри настроек.

Я в некотором недоумении, потому что просмотрел различные документы и, похоже, моя конфигурация настроена аналогично.

Ответы [ 2 ]

1 голос
/ 23 июня 2019

Вам необходимо сопоставить ваш порт хоста с портом контейнера, если ваш контейнер работает в режиме моста. Что-то вроде docker run -p <port>:8000. Чтобы просмотреть его в браузере как public_ip:port Подобную настройку вы должны выполнить в fargate.

0 голосов
/ 23 июня 2019

Убедитесь, что в панели управления AWS для Fargate это конкретное определение контейнера имеет правильное сопоставление портов.В вашем случае вам необходимо сопоставить порт: 8000, поскольку ваше приложение прослушивает этот порт.Кроме того, вам нужно создать, чтобы приложение в контейнере прослушивало 0.0.0.0, а не 127.0.0.1 (по крайней мере, из порта журнала я вижу, что вы привязываете его к 127.0.0.1

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...