搜索时会产生to do this using ECS的结果。这需要将配置文件放在特定目录中或设置env变量,当使用Fargate时它们都不可用,因为它是无服务器的。
我觉得我在这里遗失了什么,有人有什么想法吗?
谢谢!
答案 0 :(得分:9)
更新 自2018年起,此答案不再有效;您现在可以使用私有注册表。见https://stackoverflow.com/a/52267257
我找到了 http://docs.aws.amazon.com/AmazonECS/latest/developerguide/task_definition_parameters.html#container_definitions
- Fargate启动类型仅支持Amazon ECR中的映像或Docker Hub中的公共存储库。
这似乎暗示它目前不受支持。
最简单的解决方法是将图像副本上传到ECR。
答案 1 :(得分:4)
AWS刚刚为Fargate发布了该功能:您可以将任意选择的私有注册表与Fargate或EC2启动类型一起使用。您将首先将私有注册表凭证存储在AWS Secrets Manager中。然后,您将在注册任务定义时提供密码管理器ARN或密码名称作为容器级别参数。此功能需要Fargate平台1.2.0版。
https://docs.aws.amazon.com/AmazonECS/latest/developerguide/private-auth.html
答案 2 :(得分:1)
PrivateLinks is now available, for both ECS & ECR
使用PrivateLinks,您可以在不使用公共IP的情况下注册并操作EC2实例和Fargate到ECS集群,还可以从ECR访问图像。
需要端点:
com.amazonaws.region.ecs-agent
com.amazonaws.region.ecs-telemetry
com.amazonaws.region.ecs
com.amazonaws.region.ecr.dkr
com.amazonaws.region.ecr.api
com.amazonaws.region.s3 (S3 gateway endpoint)
For ECS: 只需要ECR和cloudwatch端点(如下所述)
Fargate启动类型:
com.amazonaws.region.ecr.dkr
com.amazonaws.region.s3 (S3 gateway endpoint)
此外,如果您使用awslogs驱动程序,则还需要添加cloudwatch端点。
com.amazonaws.region.logs.