golang docker sdk中的ImageSave方法可以使用镜像名+版本号吗
是的,可以使用镜像名+版本号作为参数传递给ImageSave方法。例如:
import (
"context"
"fmt"
"github.com/docker/docker/api/types"
"github.com/docker/docker/client"
"os"
)
func main() {
cli, err := client.NewEnvClient()
if err != nil {
fmt.Println(err)
return
}
imageName := "nginx"
imageVersion := "latest"
imageSaveOptions := types.ImageSaveOptions{
Names: []string{imageName + ":" + imageVersion},
}
imageSaveResponse, err := cli.ImageSave(context.Background(), []string{imageName + ":" + imageVersion})
if err != nil {
fmt.Println(err)
return
}
defer imageSaveResponse.Close()
file, err := os.Create(imageName + "_" + imageVersion + ".tar")
if err != nil {
fmt.Println(err)
return
}
defer file.Close()
_, err = file.ReadFrom(imageSaveResponse)
if err != nil {
fmt.Println(err)
return
}
fmt.Println("Image saved successfully.")
}
上述代码中,我们使用imageName和imageVersion拼接成完整的镜像名+版本号,并将其作为参数传递给ImageSave方法。
原文地址: http://www.cveoy.top/t/topic/ismP 著作权归作者所有。请勿转载和采集!