Проблема с запуском docker (сеть как локальный хост) на fargate - PullRequest
0 голосов
/ 05 ноября 2019

У меня есть образ докера, который я запускаю следующим образом:

docker run -d --net=host -p 8080:8080 <image_name> 

У меня есть веб-сервер, работающий на порту 8080, и это вместе с --net = host гарантирует, что я могу запускать тесты с клиентана хосте докера к этому серверу.

Теперь я пытаюсь развернуть его на сервере Amazon Fargate. Я загрузил образ докера на сервер и пытаюсь сделать вышеуказанное. Но похоже, что это не работает.

Что я сделал:

  1. создал группу безопасности с портом 8080, открытым на tcp для всех IP. Я предполагаю, что это должно гарантировать, что весь трафик, включая http, должен пройти через этот порт. исходящий трафик для этой группы безопасности открыт для всех ip / портов. Я также открыл порты icmp, чтобы обеспечить работу ping.

  2. Я также настроил указанный выше номер порта 8080 для переадресации портов в определении контейнера.

  3. Я также добавил метку докера следующим образом - ключ: --net, значение: хост.

Затем я создаю задачу с этим определением задачи. С общедоступным IP-адресом, который я получаю после запуска этой задачи, я пытаюсь получить доступ к веб-серверу из Postman. Тем не менее, похоже, что он не может поразить этот сервер / порт вообще. Я всегда получаю тайм-аут запроса.

Я знаю, что сервер доступен, потому что я могу успешно пропинговать его. Но по какой-то причине я получаю эту ошибку. Я также проверил журналы fargate и убедился, что приложение сервера запущено и работает.

некоторые вопросы здесь: 1. Я что-то сделал при открытии номера порта? Это правильный способ сделать это?

Я сделал --net = host, чтобы убедиться, что Docker-контейнер доступен хосту для отправки запросов. Это даже требуется на контейнере Fargate? Если да, то как правильно это сделать? Я сделал это, добавив метки докера.

Поскольку сам контейнерный компьютер fargate запущен (может пропинговать его) и приложение также запущено (из журналов), я чувствую, что вышеупомянутые две точки могут решитьэта проблема.

Все, что я, возможно, пропустил. Просьба предложить.

Кроме того, есть ли способ увидеть точную команду docker, которая выполняется при запуске контейнера fargate?

заранее спасибо.

...