Как запускать одноразовые контейнеры Docker локально (запускается из контейнера) - PullRequest
0 голосов
/ 23 мая 2018

При размещении приложений на Heroku я часто запускаю одноразовые динамо через API Heroku из кода, чтобы выполнять тяжелую работу в фоновом режиме.Недавно я настроил несколько стеков в AWS и следовал аналогичной схеме, используя задачу запуска AWS ECS.

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

Для локальной разработки я обычно пропускал эту тему, выполняя фоновые задачи в работающем контейнере или запуская фоновую команду вручную из консоли.Что было бы хорошим подходом для запуска одноразовых контейнеров локально?

Ответы [ 2 ]

0 голосов
/ 31 мая 2019

Вы можете просто вызвать ECS RunTask API call изнутри контейнера.

Все, что вам нужно, это настроить роль задачи ECS, чтобы иметь разрешения на выполнение рунтаска и иметь либо aws cli, либо любые awsSDK в контейнере для вызова вызова runtask.

0 голосов
/ 03 октября 2018

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

Если вы этого не сделаете, мы напишем небольшую функцию API Gateway -> Lambda, которая в основном динамически запускает контейнеры fargate с несколькими переменными, определенными в POST, для конечной точки шлюза API, такой как CPU / Mem / portи т. д. Или предварительно создайте определения задач и просто передайте определение задачи в API, что является еще одним вариантом, если вы знаете, каковы должны быть большинство ваших «настроек» для контейнера.

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