Как запустить Docker образ в Fargate - PullRequest
1 голос
/ 30 января 2020

У меня есть сервер узлов Dockerised, который я могу создать локально, и когда я нажимаю 'play' через настольное приложение Docker, оно начинает отображаться в моем локальном браузере.

Я пытаюсь получить тот же самый Dockerised узел сервера для работы на Fargate. Сначала я подключился к репозиторию AWS ECR, запустил Fargate и добавил кластеры, сервисы и задачи.

Мой вопрос заключается в том, как заставить Fargate эквивалентно «воспроизвести» изображение Docker, чтобы оно запускалось и начинало обслуживание с сервера Fargate?

1 Ответ

2 голосов
/ 31 января 2020

Я думаю, что вы ищете "задачи", которые требуют, чтобы вы создали определение задачи, а затем go на вкладке "Задача" вашего кластера ECS и нажмите "Запустить новую задачу"

Полный набор шагов:

  1. Создание репозитория ECR и добавление в него вашего sh вашего изображения (необязательно, изображение может находиться в общедоступном хранилище в другом месте)
  2. Создайте кластер ECS
  3. Создайте роль выполнения задач IAM (может быть необязательной, но рекомендуется, я думаю, вам это нужно, только если вы извлекаете из ECR или хотите записать контейнер STDOUT в журналы cloudwatch). Я полагаю, что это создается автоматически при создании определения задачи в консоли.
  4. Создание роли задачи IAM, если вашему контейнеру необходимы разрешения AWS (необязательно).
  5. Создание определения задачи ECS который описывает спецификацию вашего контейнера, включая URI для изображения: AWS ECR, Docker Hub, Quay.io, et c. Также включает переменные среды и требуемый процессор / память (эти два значения связаны, и некоторые комбинации могут быть недопустимы, например, 512 МБ памяти и 4 ядра).

Затем вы можете «Просто Pu sh Play», нажав кнопку «Выполнить новое задание» на вкладке «Задачи» вашего кластера ECS. Вам нужно будет настроить несколько параметров времени выполнения, но затем он будет работать до тех пор, пока процесс не завершится или задача не будет удалена.

Кроме того, события Cloudwatch Events могут запускать эти задачи по расписанию или в ответ на определенные события, и эта задача запускается из CLI в одну строку.

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

...