我的docker-compose文件:
version: '2'
services:
scraper:
build: ./Scraper/
logging:
driver: "awslogs"
options:
awslogs-region: "eu-west-1"
awslogs-group: "doctors-logs"
awslogs-stream: "scrapers-stream"
volumes:
- ./Scraper/spiders:/spiders
我已使用aws configure命令将我的AWS凭据添加到我的mac,并且凭据正确存储在〜/ .aws / credentials
中当我运行docker-compose时,我收到以下错误:
错误:for scraper无法启动服务scraper:无法初始化日志记录驱动程序:NoCredentialProviders:链中没有有效的提供程序。
已过时。 有关详细消息,请参阅aws.Config.CredentialsChainVerboseErrors
错误:启动项目时遇到错误。
我相信这是因为我需要在Docker守护程序中设置AWS凭据,但我无法弄清楚如何在macOs Sierra上完成此操作。
答案 0 :(得分:5)
该政策是Docker文档在https://docs.docker.com/engine/admin/logging/awslogs/
中提供的政策{
"Version": "2012-10-17",
"Statement": [
{
"Action": [
"logs:CreateLogStream",
"logs:PutLogEvents"
],
"Effect": "Allow",
"Resource": "*"
}
]
}
然后您需要将此政策附加到角色
该角色是第一个名为“Amazon EC2”的角色,其内容为“允许EC2实例代表您调用AWS服务。”
由于您只限制了对CloudWatch的访问权限,因此您很高兴。然后,在您的EC2列表中,使用“附加/替换IAM角色”将角色附加到您的实例:
你应该好好去!