【玩转腾讯云】CODING DevOps持续集成中使用Buildx构建Docker镜像

发布于:2024-10-24 编辑:匿名 来源:网络

现在容器化技术发展很快,以Docker镜像为基石,构建镜像的技术也在快速发展。 Docker去年推出的Buildki技术试图解决传统镜像构建过程中存在的问题:多个系统、架构的Docker镜像难以统一、构建过程难以缓存。

为了解决上述问题,基于buildkit的Docker CLI插件buildx引入了--platform --cache-from --cache- to等参数,下面我们就开始CODING DevOps持续集成中如何使用Buildx构建Docker镜像。登录或注册 CODING DevOps 创建项目 -> 模板 选择 DevOps 项目 项目名称 自己填写一个名称。

您可以将其他选项留空。单击完成以创建新的 Dockerfile。

选择代码仓库->快速初始化仓库->勾选启用README.md文件初始化仓库。 -> 点击快速初始化按钮,点击右上角三个点 -> 新建 -> 文件 -> 进入 Dockerfile -> 点击创建,写入以下内容 代码语言:txt Copy FROM alpineRUN set -x \ && sed -我“s/dl- cdn.alpinelinux.org/mirrors.aliyun.com/g”/etc/apk/repositories \ && apk add --no-cache curl git gccARG GIT_COMMIT="unknow"LABEL org.opencontainers.image。

revision=$GIT_COMMITCMD [" sh","-c","uname","-a"]点击提交启用持续集成,选择持续集成->构建计划->创建持续集成任务(新建构建计划配置)- >输入计划名称->选择使用静态配置的Jenkinsfile->选择一个简单的模板->点击确定coding_.jpgCODING DevOps持续集成使用Jenkins,通过Jenkinsfile配置。点击流程配置 -> 文本编辑器 -> 输入以下内容(搜索fix me,替换成自己的内容) -> 点击保存代码语言:txt copy pipeline { Agent Anyenvironment { // PLATFORM = "linux/ amd64,linux/arm64,linux/arm/v7" PLATFORM = "linux/amd64" DOCKER_PASSWORD = "${env.DOCKER_PASSWORD}" // 修复我 DOCKER_USERNAME = "your_username" DOCKER_CLI_EXPERIMENTAL = "enabled" BUILDX_IMAGE= "dockerpracticesig/buildkit: master-tencent" // 修复这里我们使用腾讯云容器服务的 Docker 仓库 DOCKER_REGISTRY= "ccr.ccs.tencentyun.com" // 修复 DOCKER_REPO_NAMESPACE= "your_namespace" } stages { stage('checkout') { steps { checkout([$ class: 'GitSCM', Branches: [[name: env.GIT_BUILD_REF]], userRemoteConfigs: [[url: env.GIT_REPO_URL, credentialId: env.CREDENTIALS_ID]]]) } } stage('将 docker 更新为最新'){ 步骤{ sh "docker 版本" sh "d奥克信息“sh”curl -fsSL | sudo apt-key add -" sh" sudo add-apt-repository \"deb [arch=amd64] \$(lsb_release -cs) stable\"" sh "sudo apt update" sh "sudo apt install docker-ce docker- ce-cli containerd.io -y" sh "docker 版本" sh "docker info" } } stage('setup-buildx'){ 步骤 { sh "docker run --rm --privileged docker/binfmt:a42ee2dcd6cff44b9b95f08dad64 | true" sh "docker buildx create --use --name mybuilder --driver-opt image=${BUILDX_IMAGE}" sh "docker buildx ls" sh "docker buildxspect --bootstrap" } } stage('登录仓库') { 步骤 { sh "echo ${DOCKER_PASSWORD} | docker login -u ${DOCKER_USERNAME} --password-stdin ${DOCKER_REGISTRY}" } } stage('构建镜像') { steps { sh“docker build -t ${DOCKER_REGISTRY}/${DOCKER_REPO_NAMESPACE}/demo --build-arg GIT_COMMIT 。

” sh "docker push ${DOCKER_REGISTRY}/${DOCKER_REPO_NAMESPACE}/demo" } } stage('Build Image-buildx' ) { steps { sh "docker buildx build \ -t ${DOCKER_REGISTRY}/${DOCKER_REPO_NAMESPACE}/demo: buildx \ --platform linux/amd64 \ \$(if [ -f '/root/docker_build_cache/index.json' ];then \ echo ' --cache-from=type=local,src=/root/docker_build_cache '; \ fi) \ --cache-to=type=local,dest=/root/docker_build_cache \ --build-arg GIT_COMMIT \ --push 。" } } }}coding_.jpg 新增环境变量 环境变量可以存储 Docker 注册表密码和其他私有内容选择变量和缓存->进程环境变量->添加环境变量变量名DOCKER_PASSWORD。

默认值是您自己的 Docker 注册表密码。检查机密性 -> 单击“确定”coding_.jpg 以设置构建缓存。

选择变量和缓存 -> 缓存目录 -> 输入 /root/docker_build_cache -> 点击保存更改并点击 Return -> 点击 Build Now 查看结果 点击 Build List -> 点击构建过程中的每个步骤,查看构建结果输出并对比构建镜像和构建 image-buildx 的执行时间,发现两者第一次构建所花费的时间相差不大,而后续每次构建构建 image-buildx 所花费的时间为更短(30 秒 vs 8 秒)。结论 CODING DevOps 的免费版本提供每周 30 分钟/次的配额。

由于国内访问Docker Hub速度较慢,所以上面使用的Docker仓库更换为腾讯云容器服务提供的Docker仓库。用于创建Buildx实例的Buildkit镜像将镜像源替换为腾讯云的dockerpracticesig/buildkit:master-tencent。

可以发现使用buildx构建镜像有很多优点。然而传统的Docker镜像仓库不提供buildx构建,因此使用CODING DevOps构建镜像并推送到仓库是一个不错的选择。

【玩转腾讯云】CODING DevOps持续集成中使用Buildx构建Docker镜像

站长声明

版权声明:本文内容由互联网用户自发贡献,本站不拥有所有权,不承担相关法律责任。如果发现本站有涉嫌抄袭的内容,欢迎发送邮件 举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。

标签:

相关文章

  • 在华中农业大学科研支持下,耀明生物科技完成近亿元天使轮融资

    在华中农业大学科研支持下,耀明生物科技完成近亿元天使轮融资

    投资界(ID:pedaily)1月23日消息,武汉耀明生物科技有限公司(以下简称“耀明生物”)如:格瑞农)近期完成近亿元天使轮融资该轮融资由正轩投资、鼎晖VGC投资(创新成长基金)领投,辰德资本跟投,凯诚资本担任长期独家跟投财务顾问。 据了解,本轮募集资金将主要用于噬菌体

    06-18

  • 东车日报 -特斯拉在美国被罚款27.5万美元-新宏光MINI EV实车曝光-大众与华为拟成立合资公司

    东车日报 -特斯拉在美国被罚款27.5万美元-新宏光MINI EV实车曝光-大众与华为拟成立合资公司

    介绍新宏光MINI EV实车曝光哪吒U Pro迎全场景语音功能保时捷Taycan GTS将亮相北京车展 菲亚特特别版车型官图发布 大众华为拟成立合资公司 广佛高速公路即将停止收费,季前测试已开始。 红牛新款赛车终于露面批评拜登:他每次都故意无视特斯拉。 今日话题:你喜欢眯着眼睛的甲

    06-21

  • 国行Switch OLED也来了!一篇文章帮你解决购买NS两大问题

    国行Switch OLED也来了!一篇文章帮你解决购买NS两大问题

    买国线还是国外版吗? Lite 可以用作健身环吗?国行这么便宜吗?值得购买吗?我有 Switch,我应该切换到 OLED 版本吗?国行配件可以用国外版本吗?如果你是Nintendo Switch(以下简称NS)的老玩家,你一定会对以上问题感到熟悉。 作为一款主打家庭聚会的游戏机,NS在发售多年

    06-21

  • 关于DDR5,美光确认

    关于DDR5,美光确认

    关于DDR5,美光确认DDR5内存短缺是真实存在的,这是毫无疑问的,主要供应商以及DRAM制造商自己都已经证实了这一点。 美光现在详细说明,DDR5 内存模块的供应完全与 PMIC 和 VRM 组件的短缺有关。 美光证实 DDR5 内存的可用性受到 PMIC 和 VRM 短缺的阻碍,但这一情况将在今年

    06-08

  • 理控科技获新一轮战略融资,石化资本出手

    理控科技获新一轮战略融资,石化资本出手

    投资圈(ID:pedaily)据6月30日消息,工业软件产品开发商及解决方案提供商北京理控圆通科技有限公司(以下简称理控圆通) )(简称“力控科技”)获得中石化资本新一轮战略融资。 据悉,本轮融资主要用于产品创新迭代和产品线拓展。 力控科技成立于2006年,以组态软件起家。

    06-18

  • 新加坡区块链服务公司 Bluzelle 获 150 万美元 A 轮融资,成为下一个 Oracle

    新加坡区块链服务公司 Bluzelle 获 150 万美元 A 轮融资,成为下一个 Oracle

    据投资界 8 月 29 日消息,新加坡区块链服务公司 Bluzelle 宣布完成10,000美元A轮融资。 据了解,Bluzelle正在根据用户需求开发一种去中心化、可扩展的数据服务基础设施,成本低、部署快。   本轮融资投资方均为专注于区块链、人工智能、金融科技和信息技术基础设施的国际

    06-17

  • 对话“奈飞文化”缔造者 -可以从别人身上学到什么好东西?

    对话“奈飞文化”缔造者 -可以从别人身上学到什么好东西?

    组织|陈晨编辑|姚宁夏,一份10页的PPT在硅谷流传,下载量超过1万次。 这张被Facebook首席运营官Sheryl Sandberg称为“硅谷有史以来最重要的”的《奈飞文化集》总结了奈飞企业文化的八项原则,其中包括“只招聘成年人”。 当我第一次读《奈飞文化》时,我总觉得它有一种矛盾的

    06-17

  • 品牌广告营销机构“瑟尚”获数千万元A轮融资

    品牌广告营销机构“瑟尚”获数千万元A轮融资

    据12月7日消息,新晋广告营销机构——瑟尚已完成数千万元A轮融资,海纳亚洲创业投资基金SIG领投,天使轮股东天图投资跟投。 本轮融资将主要用于社交内容管理平台(SCMP)的建设以及广告团队的扩充。 瑟尚成立于2007年,团队成立时就已经关注到小红书平台UGC背后的“内容种植

    06-18

  • 餐饮行业在线客服的价值:挖掘客户反馈,提高回头率

    餐饮行业在线客服的价值:挖掘客户反馈,提高回头率

    .wp-block-column h3{margin-left:0} 在餐饮行业,优质的客户服务是提升的关键客户满意度和忠诚度是关键。 随着技术的发展,越来越多的餐饮企业开始使用在线客服系统来提高服务效率和质量。 沃丰科技Udesk在线客服系统通过高度的功能集成和智能化操作,为餐饮行业提供全面的客

    06-18

  • 可测血压的H-One健康手表,不凡

    可测血压的H-One健康手表,不凡

    12月28日,知名手机品牌THL(糖葫芦)在京东众筹发布了旗下首款智能血压健康手表H-One。 H-one延续了传统瑞士腕表的经典设计。 它是日内瓦钟表匠设计师和电子结构精英的杰作。 它经过精心设计,考虑到美观、用户体验、电子性能、防摔、防水和防静电等。 目前有两种表盘颜色:

    06-17

  • 荣泰药业完成超3亿元A轮融资,海达投资、深创投联合领投

    荣泰药业完成超3亿元A轮融资,海达投资、深创投联合领投

    投资圈(ID:pedaily)7月21日消息,近日,专注于医药互联网营销和供应链管理新兴综合服务公司荣泰药业完成超3亿元A轮融资。 本轮融资由海达投资、深创投联合领投,东方富海、紫金投资跟投。 东方高盛担任本次融资的独家投资者,同时也是天使投资人。 天使轮融资后不到半年,

    06-18

  • 他们的首选

    他们的首选

    很难就您喜欢的应用程序内容达成一致,每个人都有自己的应用程序选择。 您的应用内容偏好是否得到满足? “豌豆甲榜”已收录应用,涵盖28种申请类型,邀请冯大辉、李开复、喻建坤、李健、刘永巧、肖异推荐《豌豆甲榜》中最值得关注的10位。 应用程序作为他们的“一目了然的选

    06-18