我尝试使用docker awslogs driver并收到以下错误:" docker:来自守护程序的错误响应:无法初始化日志记录驱动程序:NoCredentialProviders:链中没有有效的提供程序。 。弃用"
根据this GitHub comment,我需要为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
版本信息:
答案 0 :(得分:1)
但是我不确定在使用Docker for Mac时如何做到这一点。
使用boot2docker,您需要修改typedef std::vector<double>Point;
typedef std::list<Point>Cluster;
typedef std::vector<Cluster>Clusters;
std::ostream& operator<< (std::ostream& os, Point& v) {
if ( !v.empty() ) {
os << v[0];
for(ctr_type i = 1; i < v.size(); ++i)
os << ", " << v[i];
}
return os;
}
std::ostream& operator<< (std::ostream& os, Cluster& v) {
if ( !v.empty() ) {
for(Cluster::iterator iter = v.begin(); iter != v.end(); iter++) {
os << "\n";
os << *iter; // Error: Binary operator '<<' can't be applied to the expressions of type 'ostream' and 'Point'
}
}
return os;
}
std::ostream& operator<< (std::ostream& os, Clusters& v) {
if ( !v.empty() ) {
for(Clusters::iterator iter = v.begin(); iter != v.end(); iter++) {
os << *iter; // Error: Binary operator '<<' can't be applied to the expressions of type 'ostream' and 'Cluster'
}
}
return os;
}
才能添加此变量
请参阅“Docker daemon config file on boot2docker”
它确实在基于TinyCore的VM重启中持续存在,然后docker守护程序会将其考虑在内。
使用新的docker for Mac xhyve-based,这个想法应该是一样的
/var/lib/boot2docker/profile
确实存在,如in this answer所示
官方docker dameon doc指向:
/var/lib/boot2docker/profile
请尝试修改此文件。
默认情况下,评论提到:
--config-file=/etc/docker/daemon.json Daemon configuration file
答案 1 :(得分:0)
使用从此答案中获取的信息:Docker deamon config path under mac os
您可以使用以下命令连接到运行docker守护程序的VM层:
screen ~/Library/Containers/com.docker.docker/Data/com.docker.driver.amd64-linux/tty
您可以修改/etc/docker/daemon.json以在那里添加所需的变量。
进行更改后,您可以运行:
service docker restart
从moby终端内重启docker守护进程。
请注意,如果从Mac重新启动docker,则更改将不会保留。
另外,如果您在使用screen命令连接时遇到登录屏幕,请尝试使用用户名: root 来访问系统。