原标题:云计算核心技术Docker教程:Docker上ECS滚动更新和查看应用程序日志
滚动更新
要在不中断生产流程的情况下更新您的应用程序,您只需docker compose up在更新的 Compose 项目上使用即可。您的 ECS 服务是使用滚动更新配置创建的。当您docker compose up使用修改后的 Compose 文件运行 时,堆栈将更新以反映更改,并且如果需要,一些服务将被替换。此替换过程将遵循由您的服务deploy.update_config 配置设置的滚动更新配置。
AWS ECS 使用基于百分比的模型来定义滚动更新期间要运行或关闭的容器数量。Docker Compose CLI 根据parallelism和replicas 字段计算滚动更新配置。但是,您可能更喜欢使用扩展字段x-aws-min_percent和x-aws-max_percent. 前者设置为服务运行的容器的最小百分比,后者设置在删除以前的版本之前启动的额外容器的最大百分比。
默认情况下,ECS 滚动更新设置为运行两倍于服务的容器数量 (200%),并且能够在更新期间关闭 100% 的容器。
查看应用程序日志
Docker Compose CLI 为您的容器配置 AWS CloudWatch Logs 服务。默认情况下,您可以像查看本地部署日志一样查看 compose 应用程序的日志:
# fetch logs for application in current working directory
$ docker compose logs
# specify compose project name
$ docker compose --project-name PROJECT logs
# specify compose file
$ docker compose --file /path/to/docker-compose.yaml logs
为应用程序创建一个日志组 as docker-compose/,并为应用程序中的每个服务和容器创建日志流 as //。
您可以使用x-aws-logs_retention Compose 文件中的扩展字段微调 AWS CloudWatch Logs ,以设置日志事件的保留天数。默认行为是永远保留日志。
您还可以将awslogs 参数作为标准 Compose 文件logging.driver_opts元素传递给您的容器。