如何为私人注册login凭证创build“RegistryAuth”

我使用以下命令创build了一个私人registry:

docker run -d -p 5000:5000 –restart = always –nameregistry-e REGISTRY_STORAGE_DELETE_ENABLED = trueregistry:2

我正尝试使用Golang docker客户端API – > ImagePush将图像推送到此registry

func(cli * Client)ImagePush(ctx context.Context,图像string,选项types.ImagePushOptions)(io.ReadCloser,错误)

当我放大到ImagePushOptions我看到的结构是

typesImagePullOptions结构{所有bool RegistryAuthstring// RegistryAuth是registry的PrivilegeFunc RequestPrivilegeFunc的base64编码凭据}

AnyIdea如何创buildRegistryAuthstring

我试着做下面的事情:

键入AuthArgs结构{用户名stringJSON:“用户名”密码stringJSON:“密码”电子邮件stringJSON:“电子邮件”ServerAddressstringJSON:“serveraddress”}

func(){

m:= AuthArgs {“docker”,“docker”,“”,“localhost:5000”} b,err:= json.Marshal(m)

fmt.Println(string(b))encodeStr:= base64.StdEncoding.EncodeToString(b)

refStr:=“localhost:5000 /”+ image +“:”+ tag fmt.Println(refStr)resp,err:= cli.ImagePush(ctx,refStr,types.ImagePushOptions {RegistryAuth:encodeStr})天,任何帮助将是伟大的

auth := types.AuthConfig{ Username: cfg.User, Password: cfg.Passwd, } authBytes, _ := json.Marshal(auth) authBase64 := base64.URLEncoding.EncodeToString(authBytes) 

https://github.com/leopoldxx/godocker/blob/master/docker.go