如何使用Docker for Mac为Docker awslogs驱动程序提供凭据?
我试图使用docker awslogs驱动程序,并得到以下错误:“docker:来自守护进程的错误响应:无法初始化日志logging驱动程序:NoCredentialProviders:链中没有有效的提供程序。已弃用。
根据这个GitHub的评论 ,我需要为Docker守护进程设置AWS_SHARED_CREDENTIALS_FILE环境variables,但是我不确定在使用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
版本信息:
- Docker for Mac 1.12.1-rc1-beta23 build 11375
- OS X El Capitan 10.11.6
但是我不确定在使用Docker for Mac时如何做到这一点。
使用boot2docker ,您需要修改/var/lib/boot2docker/profile
以添加此variables。
请参阅“ boot2docker上的Docker守护进程configuration文件 ”。
它在整个基于TinyCore的虚拟机重启过程中保持不变,然后docker守护进程将考虑到这一点。
对于基于Mac xhyve的新Docker ,这个想法应该是一样的。
/var/lib/boot2docker/profile
也存在,如此答案中所示。
官方的docker达蒙博士指出:
--config-file=/etc/docker/daemon.json Daemon configuration file
所以试着修改这个文件。
默认情况下,评论提到:
~/Library/Containers/com.docker.docker/Data/database/com.docker.driver.amd64-linux/etc/docker/daemon.json
使用从这个答案获取的信息: 在mac os下的Docker deamonconfigurationpath
您可以使用以下命令连接到运行docker守护进程的VM层:
screen ~/Library/Containers/com.docker.docker/Data/com.docker.driver.amd64-linux/tty
你可以修改/etc/docker/daemon.json在那里添加需要的variables。
一旦你做了改变,你可以运行:
service docker restart
从mobyterminal内重新启动docker守护进程。
请注意,如果您从Mac重新启动Docker,更改将不会持续。
请注意,如果在使用屏幕命令连接时遇到login屏幕,请尝试使用用户名: root访问系统。