簡體   English   中英

Docker Windows:awslogs 日志記錄驅動程序 - NoCredentialProviders:鏈中沒有有效的提供程序

[英]Docker Windows: awslogs logging driver - NoCredentialProviders: no valid providers in chain

我在 Windows(Docker 桌面)上使用 Docker。

我有一個docker-compose.yml ,我想在上面啟用awslogs日志記錄驅動程序:

version: "3"
services:
    zookeeper:
        image: confluentinc/cp-zookeeper:6.0.0
        container_name: zookeeper
        hostname: zookeeper
        ports:
          - "2181:2181"
        environment:
            ZOOKEEPER_CLIENT_PORT: 2181
            ZOOKEEPER_TICK_TIME: 2000
            AWS_ACCESS_KEY_ID: ${AWS_ACCESS_KEY_ID}
            AWS_SECRET_ACCESS_KEY: ${AWS_SECRET_ACCESS_KEY}
            AWS_SESSION_TOKEN: ${AWS_SESSION_TOKEN}
        logging:
            driver: awslogs
            options:
                awslogs-region: eu-west-1
                awslogs-group: zookeeper-logs

%userprofile%\.aws下,我有有效的工作 aws 憑據:

/C:\Users\catalin.gavan\.aws
├── config
└── credentials

當我嘗試構建和運行容器時,出現以下錯誤:

C:\Users\catalin.gavan\Work\DockerApp>
docker-compose up

Creating network "dockerapp_default" with the default driver
Creating zookeeper ... error                                                                                                                                                              
ERROR: for zookeeper  Cannot start service zookeeper: failed to initialize logging driver: failed to create Cloudwatch log stream: NoCredentialProviders: no valid providers in chain. Deprecated.
For verbose messaging see aws.Config.CredentialsChainVerboseErrors

ERROR: for zookeeper  Cannot start service zookeeper: failed to initialize logging driver: failed to create Cloudwatch log stream: NoCredentialProviders: no valid providers in chain. Deprecated.
For verbose messaging see aws.Config.CredentialsChainVerboseErrors
ERROR: Encountered errors while bringing up the project.

CloudWatch zookeeper-logs日志組已存在。 我使用的 AWS 配置文件具有完全訪問權限,並且已經在不同場景下進行了測試。

問題似乎是由 Docker 桌面 (Windows) 守護程序引起的,它無法讀取.aws憑據。

報告了同樣的問題:

請務必記住,此憑據文件需要提供給 docker 引擎而不是客戶端。 它是將要連接到 aws 的引擎(守護進程)。

如果您以用戶身份創建該文件,它可能對引擎不可用。 如果您正在運行 docker-machine 並且引擎位於 VM 中,則您需要將該憑證文件移動到 root 用戶的 VM 中。

以下是如何將憑據傳遞給守護進程https://wdullaer.com/blog/2016/02/28/pass-credentials-to-the-awslogs-docker-logging-driver-on-ubuntu/

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM