GGV2:无法运行Docker容器:docker.sock - 无权限访问。

0

【以下的问题经过翻译处理】 一个月前这还可以正常工作,但现在出现了以下问题:

当Greengrass尝试通过“docker load -i [...]”安装docker镜像时,我会遇到以下错误:

2021-04-14T15:24:51.673Z [WARN] (Copier) xxxxxxxxx: stderr. Got permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Post http://%2Fvar%2Frun%2Fdocker.sock/v1.24/images/load?quiet=1: dial unix /var/run/docker.sock: connect: permission denied. {scriptName=services.xxxxxxxxx.lifecycle.Install.Script, serviceName=xxxxxxxxx, currentState=NEW} 2021-04-14T15:24:51.676Z [WARN] (pool-2-thread-17) xxxxxxxxx: shell-runner-error. {scriptName=services.xxxxxxxxx.lifecycle.Install.Script, serviceName=xxxxxxxxx, currentState=NEW, command=["docker load -i /greengrass/v2/packages/artifacts/xxxxxxxxx/1...."]}

我尝试过:

·将Nucleus 2.0.3恢复到以前的版本,但似乎出现了同样的问题。

·唯一解决这个问题的方法是将docker.sock设置为全局可写方式...但这不适用于生产。

更多信息:

·Greengrass以root权限运行。

·我可以在shell中自己正常运行这些命令。

·我自己启动的特权容器可以正常访问docker.sock。

·在我的arm和amd64设备上都会出现这个问题。

我不知道要检查Greengrass尝试以什么用户运行docker load命令,但我认为它是自己的用户。

有人遇到过类似的问题吗?

我感到很困惑,因为以前可以工作,但我没有改变任何东西。

profile picture
专家
已提问 5 个月前21 查看次数
1 回答
0

【以下的回答经过翻译处理】 你好 QuantumLove,

错误出现在你的“安装”步骤中。你能否尝试在“运行”步骤中为“安装”设置“RequiresPrivilege”: true?

谢谢!

profile picture
专家
已回答 5 个月前

您未登录。 登录 发布回答。

一个好的回答可以清楚地解答问题和提供建设性反馈,并能促进提问者的职业发展。

回答问题的准则