问题
我正试图使用我的on premise服务器将docker日志发送到Aws Cloudwatch,但它在身份验证方面始终失败。我花了大量的时间在文档和教程中搜索--但是它不起作用。
逼近
我已经安装了AWS并对其进行了配置,因此~/.aws/config中填充了我的凭据。为了安全起见,我还临时设置了会话变量:
EXPORT AWS_SECRET_ACCESS_KEY=...
EXPORT AWS_ACCESS_KEY_ID=...
EXPORT AWS_SESSION_TOKEN=...我已经验证了我可以通过以下方式连接到AWS:
aws s3 ls这是我的运行配置:
docker run --log-driver=awslogs --log-opt awslogs-group=docker-logs --log-opt awslogs-region=eu-west-1 --log-opt awslogs-create-group=true alpine echo 'hi cloudwatch'当跟踪/var/log/daemon.log时,我看到以下错误:
Feb 1 01:12:07 XXXXXX dockerd[7389]: time="2021-02-01T01:12:07.670370559+01:00" level=error msg="Failed to create log stream" errorCode=NoCredentialProviders logGroupName=docker-logs logStreamName=61c82801d22d3db4c68cdc5b3d1dcba51f97c77dea5ce33e262b712c0e2a23a7 message="no valid providers in chain. Deprecated.\n\tFor verbose messaging see aws.Config.CredentialsChainVerboseErrors" origError=""我也尝试让码头运行会话变量作为-ENV-参数。还是不起作用。我还尝试将导出的变量插入/etc/default/docker中。还是没有运气。
如果我使用日志驱动程序=“json- file”运行并指向一个文件,那么Docker上传到cloudwatch没有问题。所以这只会引起问题。
版本
$ aws --version
aws-cli/2.1.22 Python/3.7.3 Linux/4.19.57-v7l+ source/armv7l.raspbian.10 prompt/off$ docker --version
Docker version 20.10.2, build 2291f61发布于 2021-02-01 12:57:23
我在instance 18的例子中也遇到了类似的问题。以下是对我有用的步骤:
文件的/etc/systemd/system/docker.service.d/
https://stackoverflow.com/questions/65991844
复制相似问题