gpt4 book ai didi

go - 如何使用 golang 从自定义 docker 注册表中提取图像?

转载 作者:IT王子 更新时间:2023-10-29 02:22:16 26 4
gpt4 key购买 nike

如何使用 docker sources 从自定义注册表中拉取镜像?由于使用了这样的代码

// Prepare auth registry for usage
func (app *App) PrepareRegistry() error {
app.AuthConfig = types.AuthConfig{
Username: Username,
Password: Password,
ServerAddress: DefaultServer,
}

resp, err := app.Client.RegistryLogin(context.Background(), app.AuthConfig)
if err != nil {
panic(err)
}

fmt.Println(resp.Status)
if resp.IdentityToken != "" {
app.AuthConfig.IdentityToken = resp.IdentityToken
}

app.AuthConfigEncoded, err = command.EncodeAuthToBase64(app.AuthConfig)
return err
}

func (app *App) ImagePull() error {

opts := types.ImagePullOptions{
All: true,
RegistryAuth: app.AuthConfigEncoded,
PrivilegeFunc: registryAuthentication(app.Name),
}
responseBody, err := app.Client.ImagePull(context.Background(), app.Name, opts)
defer responseBody.Close()
if err != nil {
return err
}
return nil
}

还是报错

Login Succeeded
panic: Error response from daemon: Get https://registry-1.docker.io/v2/shalakhin/blender/tags/list: unauthorized: incorrect username or password

虽然ServerAddress是registry.gitlab.com,不是registry-1.docker.io

最佳答案

您检查身份 token 了吗?这可能会导致身份验证问题。

一个建议:
Docker client

这工作正常,因为我看到您没有指定端点。我认为您应该添加此信息。

关于go - 如何使用 golang 从自定义 docker 注册表中提取图像?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42392130/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com