如何使用Docker for Mac为docker awslogs驱动程序提供凭据?

Mik*_*tum 20 amazon-web-services docker

我正在尝试使用docker awslogs驱动程序并收到以下错误:"docker:来自守护程序的错误响应:无法初始化日志记录驱动程序:NoCredentialProviders:链中没有有效的提供程序.已弃用."

根据这个GitHub评论,我需要为docker守护进程设置AWS_SHARED_CREDENTIALS_FILE环境变量,但是我不确定在使用Docker for Mac时如何做到这一点.

我用来启动容器的命令是:

docker run -d \
 --log-driver=awslogs \
 --log-opt awslogs-region=us-east-1 \
 --log-opt awslogs-group=my-log-group \
 my-image
Run Code Online (Sandbox Code Playgroud)

版本信息:

  • Docker for Mac 1.12.1-rc1-beta23 build 11375
  • OS X El Capitan 10.11.6

Von*_*onC 1

\n

但我不确定在使用 Docker for Mac 时如何做到这一点。

\n
\n\n

使用boot2docker,您需要进行修改/var/lib/boot2docker/profile才能添加此变量。
\n请参阅“ boot2docker 上的 Docker 守护进程配置文件”。
\n它确实会在基于 TinyCore 的虚拟机重新启动后持续存在,然后 docker 守护进程会将其考虑在内。

\n\n

对于基于 xhyve 的新docker for Mac ,想法应该是相同的。
\n/var/lib/boot2docker/profile也确实存在,如这个答案所示。
\n官方docker dameon 文档指出:

\n\n
--config-file=/etc/docker/daemon.json  Daemon configuration file\n
Run Code Online (Sandbox Code Playgroud)\n\n

所以尝试修改这个文件。

\n\n

默认情况下,评论提到:

\n\n
~/Library/Containers/com.docker.docker/Data/database/com.doc\xe2\x80\x8c\xe2\x80\x8bker.driver.amd64-lin\xe2\x80\x8c\xe2\x80\x8bux/etc/docker/daemon\xe2\x80\x8c\xe2\x80\x8b.json\n
Run Code Online (Sandbox Code Playgroud)\n