EC2 上的 AWS ECS 实例不会拉取并运行任务定义中的容器

问题描述 投票:0回答:1

我尝试在 EC2 上使用 AWS ECS,但我的部署始终处于“待处理”状态,当我 ssh 进入计算机时,

docker images
显示它没有下载映像 (
nginx:latest
),并且我可以从日志中看出它甚至没有尝试。我可以手动
docker pull
docker run
,然后它会按预期运行。我还尝试过更改 awsvpc、网桥和主机之间的网络模式,没有任何区别。安全组允许所有流量进出,我使用的是默认的公共 VPC。以防万一,我在 Amazon Linux 2023 上使用 t2.micro 实例,并且为任务和容器提供 1vCPU 和 1GB 内存。

日志中有一条可疑消息,但我不确定如何修复它,即使这是原因。

Error: AccessDeniedException: User: [snip] is not authorized to perform: ssm:UpdateInstanceInformation on resource: [snip] because no identity-based policy allows the ssm:UpdateInstanceInformation action.
amazon-web-services docker amazon-ec2 amazon-ecs
1个回答
0
投票

我认为您在 EC2 实例中没有 docker hub 凭证,因此您可以运行命令以使用您的 aws 凭证登录 AWS Private Registry

(Get-ECRLoginCommand).Password | docker login --username AWS
--password-stdin aws_account_id.dkr.ecr.region.amazonaws.com

如果您使用第三方 docker hub 或 ghcr.io 等 github 注册表,这种情况也是如此。希望这对你有帮助

© www.soinside.com 2019 - 2024. All rights reserved.