当前位置: 首页 > news >正文

微商城网站建设阿里营销网站建设

微商城网站建设,阿里营销网站建设,西安高端品牌网站建设,公司网站开发怎么做账随着Docker的普及#xff0c;许多公司的产品会将组件构建为Docker镜像。但随着时间的推移#xff0c;一些镜像变得越来越大#xff0c;对应的CI构建也变得越来越慢。 如果能在喝完一杯咖啡的时间#xff08;不超过5分钟#xff09;内完成构建#xff0c;将是一个理想状态… 随着Docker的普及许多公司的产品会将组件构建为Docker镜像。但随着时间的推移一些镜像变得越来越大对应的CI构建也变得越来越慢。 如果能在喝完一杯咖啡的时间不超过5分钟内完成构建将是一个理想状态。否则则会减慢开发人员的生产力。 本篇文章带大家通过两个小的改变来提升Docker的构建时间。 Docker最佳实践 在讲解改变之前首先要确保遵循了编写Dockerfile的最佳实践 容器应该是短暂的镜像层数尽可能少使用多阶段构建使用最小的基础镜像避免安装不必要的包一个容器只运行一个进程将多行参数排序构建缓存… Buildkit Buildkit是改进后的后端用于替代传统的Docker构建器。自2018年起它已经与Docker捆绑在一起并成为Docker引擎23.0版本的默认构建器。 它提供了一些特殊的功能 改进的缓存能力并行构建不同的层延迟拉取基础镜像≥Buildkit 0.9 使用Buildkit时会发现docker build命令的输出看起来更清晰、更结构化。 在Docker版本低于23.0时使用Buildkit的一种典型方法是设置Buildkit参数如下 DOCKER_BUILDKIT1 docker build --platform linux/amd64 . -t someImage:someVersion DOCKER_BUILDKIT1 docker push someImage:someVersionBuildx Buildx是Docker的一个插件能够充分利用Docker中的Buildkit的潜力。它的创建是因为Buildkit支持许多新的配置选项不能全部以向后兼容的方式集成到docker build命令中。 除了构建镜像之外Buildx还支持管理多个构建器。这在CI中非常有用可以定义具有不同配置的作用域环境因为它们不会修改共享的Docker守护程序。 可以按照以下方式开始使用Buildx docker buildx create --bootstrap --name builder docker buildx use builder远程缓存 加快构建速度的第一种方法是将镜像缓存在远程注册表中。这样即使构建在不同的机器上执行通常在CI中会这样也可以从构建缓存中受益。 作为一种解决方法许多人在构建新的镜像版本之前拉取了最新版本的镜像。好处是可以以拉取完整镜像的代价来缓存未更改的层。拉取完整镜像可能需要一些时间但也不能保证层可以被重用。 为了说明这一点可以使用以下命令 docker pull someImage:latest || true docker build --platform linux/amd64 . \ -t someImage:someVersion \ -f Dockerfile \ --cache-from someImage:latest使用Buildx可以将缓存信息存储在远程位置例如容器注册表、Blob存储等中。构建器将检查给定的层是否已经存在如果存在则会重新使用它而不是再次创建它。 甚至可以在不将层拉取到本地的情况下完成此操作。为了能够从此机制中受益我们对先前的命令进行了改进 docker buildx build --platform linux/amd64 . \ -t someImage:someVersion --push \ --cache-to typeregistry,refsomeCachedImage:someVersion,modemax --cache-from typeregistry,refsomeCachedImage:someVersion模式“max”表示为每个层存储构建信息甚至包括在生成的镜像中未使用的层例如在使用多阶段构建时。默认情况下使用“min”模式它仅存储关于最终镜像中存在的层的构建信息。 缓存的一个特殊情况是将缓存数据“内联”存储这意味着它将与镜像一起被缓存。即使在不使用Buildx的情况下使用Buildkit时该选项也是支持的。它是最容易使用的方法但在使用多阶段构建时更加棘手并且它不能清晰地区分输出的工件和缓存。 将缓存数据“内联”存储的命令如下所示 docker buildx build --platform linux/amd64 . \ -t someImage:someVersion --push \ --cache-to typeinline,modemax \ --cache-from someImage:somePreviousVersion添加文件到Docker镜像的新方法 Docker引入了一种新版本的语法来编写Dockerfile即#syntaxdocker/dockerfile:1.4。它为COPY和ADD命令提供了额外的链接选项。 以前当使用COPY或ADD命令时构建器会创建一个新的快照将新文件与已存在的文件系统合并。结果是在执行此操作之前所有父层都需要存在否则目标目录可能尚不存在。 最终镜像构建命令的结果将由每个层的tarball组成其中包含各个快照之间的差异。 FROM baseImage:version COPY binary /opt/使用链接选项时新文件将放置在它们自己的快照中而不依赖于先前的层。链接的文件存储在它们自己的tarball中并且不依赖于现有的文件系统如下图所示。 # syntaxdocker/dockerfile:1.4 FROM baseImage:version COPY [--chownuser:group] [--chmodperms] --link binary /opt/主要优势是文件不再依赖于先前的层。只要文件没有更改层就可以被重复使用即使父层发生了变化。 此外这也可以提高构建速度因为现在可以并行执行多个层的数据复制。 小论 本文介绍了两种小的改变可以让整个Docker构建时间大幅缩减的方法希望在实践的过程中对大家有所帮助。这两个小改变分别是 将构建缓存信息存储在远程位置在将文件添加、复制到docker镜像时使用链接选项 当然在使用Docker时关于Dockerfile编写的最佳实践大家也要留意一下。
http://wiki.neutronadmin.com/news/92183/

相关文章:

  • 吉林省住房和建设厅网站我附近的广告公司
  • 广州学习做网站建设的学校成都微信小程序开发平台
  • 站外推广渠道有哪些施工企业资料员
  • 泉州网站建设企业物联网的含义是什么意思
  • 响应式网站建设服务提供商360如何做网站优化
  • wordpress视频播放卡石家庄seo结算
  • 学校网站建设培训心得专业公司网站 南通
  • 网站更改指定字段企业网站不足
  • dw怎么做别人可以看的网站市场调研报告500字
  • 做网站的市场细分免费的网站模版
  • 网站建设手机版模板贵阳公司网站建设
  • 专业做俄语网站建设荣耀手机价格表大全一览
  • 公司网站横幅是做的吗wordpress twenty ten
  • 网站设计欣赏网络营销做得好的企业
  • wordpress网站怎么进去全球购海外商城官网
  • 深泽网站制作餐饮网站建设怎样
  • 新闻静态网站咋做热点新闻
  • 微信php网站开发流程公司常见八大职能部门
  • 用rp做网站不用写前段代码软装设计师证
  • 澧县网站设计网站建站卖首饰侵权
  • 域名注册后能开始建设网站吗企业wordpress
  • 网站通栏广告素材seo快速优化
  • 专业南京网站建设网站主页排版
  • 建设工程交易中心网站收费标准seo是哪里
  • 个人网站能允许做哪些程序员做的简单的网站
  • 东源建设局网站中国工业设计在线官网
  • 设计师常用网站模板做的网站如何下载
  • 北京做百度网站提供营销型网站设计
  • 国内建网站多少钱素材网站pinterest
  • 作品集模板网站网站建设费钱吗