实现。

可以使用dockerhub API来获取远程仓库的镜像信息,然后从中筛选出latest版本的镜像ID。

以下是一个示例代码:

package main

import (
    "encoding/json"
    "fmt"
    "net/http"
)

type Image struct {
    Id          int    `json:"id"`
    Name        string `json:"name"`
    Description string `json:"description"`
    IsOfficial  bool   `json:"is_official"`
    IsAutomated bool   `json:"is_automated"`
    StarCount   int    `json:"star_count"`
}

func main() {
    url := "https://hub.docker.com/v2/repositories/library/golang/tags/"

    resp, err := http.Get(url)
    if err != nil {
        fmt.Println("Error:", err)
        return
    }
    defer resp.Body.Close()

    var images []Image
    err = json.NewDecoder(resp.Body).Decode(&images)
    if err != nil {
        fmt.Println("Error:", err)
        return
    }

    for _, image := range images {
        if image.Name == "latest" {
            fmt.Println("Latest image ID:", image.Id)
            break
        }
    }
}

这个代码会从dockerhub获取golang镜像的所有标签信息,然后从中筛选出latest版本的镜像ID并输出。注意,这个代码需要在有网络连接的环境下运行

golang的docker sdk中有没有不用拉取latest版本镜像就可以获取到latest版本镜像的id呢ImageList不是只能获取本地仓库的镜像资源信息吗我想获取远程仓库的latest版本的镜像id而又不需要先拉取latest版本镜像到本地仓库请用golang代码

原文地址: https://www.cveoy.top/t/topic/fePM 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录