Я поместил исходный образ докера в репозиторий и создал AWS Fargate с использованием этого образа, есть ли способ обновить образ, поскольку в моем образе докера есть определенные изменения.
Как обновить образ контейнера в AWS Fargate
Ответы (4)
Так просто как:
aws ecs update-service --cluster <cluster> --service <service> --force-new-deployment
См. документацию по AWS:
Если вы обновили образ Docker своего приложения, вы можете создать новое определение задачи с этим образом и развернуть его в своей службе.
Примечание
Если в обновленном образе Docker используется тот же тег, что и в существующем определении задачи для вашей службы (например, my_image: latest), вам не нужно создавать новую версию определения задачи. Вы можете обновить службу, используя описанную ниже процедуру, сохранить текущие настройки службы и выбрать «Принудительное новое развертывание». Новые задачи, запускаемые при развертывании, при запуске извлекают текущую комбинацию изображения / тега из вашего репозитория. Параметр Принудительное новое развертывание также используется при обновлении задачи Fargate для использования более актуальной версии платформы, когда вы указываете ПОСЛЕДНЮЮ. Например, если вы указали ПОСЛЕДНЮЮ версию, а ваши запущенные задачи используют версию платформы 1.0.0, и вы хотите, чтобы они перезапускались с использованием более новой версии платформы.
https://docs.aws.amazon.com/AmazonECS/latest/userguide/update-service.html#update-service
Создайте новую версию определения задачи, обновите контейнер, добавив последние метки, и обновите службу.
Вы можете написать файл конфигурации после создания кластера, используя default-launch-type
как FARGATE для вашего приложения, и определить соответствующие параметры в определении вашей задачи, то есть ecs-params.yaml
Вот один файл для nginx:latest
образа, который хранится в Amazon ECR.
version: '2'
services:
web:
image: account-id.dkr.ecr.ap-southeast-1.amazonaws.com/nginx:latest
ports:
- "80:80"
logging:
driver: awslogs
options:
awslogs-group: awslogs-web
awslogs-region: ap-southeast-1
awslogs-stream-prefix: web-nginx
Вы просто меняете образ, и вы можете добавить обновленный образ в свое развертывание по мере обновления службы внутри кластера.
Если вы обновили образ Docker своего приложения, вы можете создать новое определение задачи с этим образом и развернуть его в своей службе. Планировщик службы использует параметры минимального и максимального процентов работоспособности (в конфигурации развертывания службы) для определения стратегии развертывания.
Примечание. Execution Role
в определении задачи дает разрешения на извлечение образов из реестра контейнеров.
Здесь вы можете найти руководство по документации, AWS ECS Update Service а>