[英]How to create “RegistryAuth” for Private Registry Login Credentials
我使用以下命令创建了一个私有注册表:
docker run -d -p 5000:5000 --restart=always --name registry -e REGISTRY_STORAGE_DELETE_ENABLED=true registry:2
我正在尝试使用 Golang docker 客户端 API -> ImagePush
将图像推送到此注册表
func (cli *Client) ImagePush(ctx context.Context, image string, options types.ImagePushOptions) (io.ReadCloser, error)
当我放大ImagePushOptions
我看到该结构是
type ImagePullOptions struct {
# All bool
RegistryAuth string // RegistryAuth is the base64 encoded credentials for the registry
PrivilegeFunc RequestPrivilegeFunc
}
AnyIdea 如何创建 RegistryAuth 字符串
我尝试执行以下操作:
type AuthArgs struct {
Username string json:"username"
Password string json:"password"
Email string json:"email"
ServerAddress string json:"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 })
我被困了 3 天,任何帮助都会很棒
auth := types.AuthConfig{
Username: cfg.User,
Password: cfg.Passwd,
}
authBytes, _ := json.Marshal(auth)
authBase64 := base64.URLEncoding.EncodeToString(authBytes)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.