Faasd - 无法从私有注册表中提取映像



我有一个使用OpenFaaS的应用程序。

特别是,我使用faasd,因为该功能将在处理能力较差的设备上运行。我有一个私人注册表,上面有一个"X"函数的映像。我想从faasd中提取这个映像来部署和执行它,但我遇到了一个问题:当我尝试执行操作时,我似乎没有通过身份验证,但我正确地传递了registryAuth令牌。

这里有一个我正在做的事情的例子(如下https://ericstoekl.github.io/faas/operations/managing-images/#deploy-具有私有注册表凭据的功能(

<ip_address>:8080/system/functions

标题:

{
"Authorization": "mytoken"
}

正文:

{
    "service": "functionName",
    "image": "<registry_ip_address>/functions/functionName:<version>",
    "envProcess": "/.../myprocess",
    "registryAuth": <base64 token obtained from 'user:password'>,
    "secrets": [
        "mysecret"
    ]
}

我确认参数都是正确的,我收到这个错误:

"无法提取图像<registry_ip_address>functions/functionName::cannot pull:未能解析引用"lt;registry_ip_address>functions/functionName:":没有为令牌身份验证质询指定范围">

注册表工作得很好,因为如果我尝试用docker以经典的方式下载图像,我就可以提取图像。

提前谢谢!

对于faasd,您必须创建一个凭据文件。

您的普通~/.doker/config.json需要复制到/var/lib/faasd/.docker/config.json

https://github.com/openfaas/faasd#a-关于私人回购的注记

关于私人回购/注册的说明

要使用私人图像转发,需要将~/.docker/config.json复制到/var/lib/faasd/.docker/config.json.

如果您想设置自己的私人注册表,请参阅本教程。

请注意,在MacOS和Windows上运行docker login可能会创建一个空文件,其中您的凭据存储在系统助手中。

或者,您可以使用OpenFaaS云引导工具(ofc引导(中的registry-login命令:

curl -sLSf https://raw.githubusercontent.com/openfaas-incubator/ofc-bootstrap/master/get.sh | sudo sh
ofc-bootstrap registry-login --username <your-registry-username> --password-stdin
# (then enter your password and hit return)

文件将在./credentials/ 中创建

相关内容

  • 没有找到相关文章

最新更新