登录
首页 >  Golang >  Go问答

推送本地构建的 Docker 镜像至 Digital Ocean 容器注册表

来源:stackoverflow

时间:2024-02-27 19:09:15 460浏览 收藏

知识点掌握了,还需要不断练习才能熟练运用。下面golang学习网给大家带来一个Golang开发实战,手把手教大家学习《推送本地构建的 Docker 镜像至 Digital Ocean 容器注册表》,在实现功能的过程中也带大家重新温习相关知识点,温故而知新,回头看看说不定又有不一样的感悟!

问题内容

package main

import (
    "context"
    docker "docker.io/go-docker"
    "docker.io/go-docker/api/types"
    "encoding/base64"
    "encoding/json"
    "fmt"
)

var client docker.client

func main() {

    ctx := context.background()

    var token = 

    var creds = types.authconfig{
        username:      token,
        password:      token,
        serveraddress: "registry.digitalocean.com/",
    }

    _, err = client.imagepush(ctx,
        "registry.digitalocean.com//:",
        types.imagepushoptions{
            registryauth: registryauth(creds),
        })

    fmt.println("stream :::::::::::::::::::::> ", err)

}

func registryauth(creds types.authconfig) string {
    b, err := json.marshal(&creds)
    if err != nil {
        panic(err)
    }
    return base64.stdencoding.encodetostring(b)
}

我当前的代码如上: 我能够在注册表中成功登录,但在推送注册表时出现问题 main() 调用向我展示了这一点:

stream :::::::::::::::::::::>  error during connect: Post "/images/registry.digitalocean.com///push?tag=": unsupported protocol scheme ""

正确答案


您正在使用的 go-docker 库已过时,您应该将其替换为较新的库 https://pkg.go.dev/github.com/docker/docker。 这将解决您的 unsupported schema issues 问题。

文中关于的知识介绍,希望对你的学习有所帮助!若是受益匪浅,那就动动鼠标收藏这篇《推送本地构建的 Docker 镜像至 Digital Ocean 容器注册表》文章吧,也可关注golang学习网公众号了解相关技术文章。

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>