0
点赞
收藏
分享

微信扫一扫

golang构建docker镜像的几种方式

西风白羽 2023-11-29 阅读 45

目前docker支持以下几种方式指定上下文来构建镜像

  • 本地项目路径
  • 本地压缩包路径
  • docekrfile文本链接
  • 压缩包文件链接
  • git仓库链接

在此记录下golang中使用git仓库链接构建方法

import (
	"context"
	"github.com/docker/docker/api/types"
	"github.com/docker/docker/client"
)

func main() {
	cli, err := client.NewClientWithOpts(client.FromEnv, client.WithAPIVersionNegotiation())
	if err != nil {
		panic(err)
	}
	
	// 公开git项目地址
	gitUrl := "https://jihulab.com/keex/go-test-api.git#main"
	
	// 私有git项目地址,需要申请Token
	// gitUrl := "https://[USER]:[TOKEN]@github.com/[GROUP]/[PROJECT_NAME].git#[BRANCH]"

    // 开始构建
	resp, err := cli.ImageBuild(context.TODO(), nil, types.ImageBuildOptions{RemoteContext: gitUrl})
	if err != nil {
		panic(err)
	}
}
举报

相关推荐

0 条评论