如何为私人注册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)