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

怎样维护公司网站成都门户网站建设公司

怎样维护公司网站,成都门户网站建设公司,中国黄页网官网,网站怎么做多级菜单合适docker镜像文件大小不仅影响容器启动效率#xff0c;也影响资源占用效率。本文介绍如何利用分层方式构建docker镜像#xff0c;采用多种方式避免镜像文件太大而影响性能。 Docker 镜像大小优化的重要性 资源利用效率 较小的镜像文件在存储和传输过程中占用更少的空间和带… 合适docker镜像文件大小不仅影响容器启动效率也影响资源占用效率。本文介绍如何利用分层方式构建docker镜像采用多种方式避免镜像文件太大而影响性能。 Docker 镜像大小优化的重要性 资源利用效率 较小的镜像文件在存储和传输过程中占用更少的空间和带宽。例如在将镜像从本地仓库推送到远程仓库或者在集群环境中分发镜像时小镜像可以加快传输速度减少网络资源的占用。 当在主机上存储大量镜像时较小的镜像可以节省磁盘空间使得可以在有限的磁盘容量下存储更多的镜像这对于容器编排系统如 Kubernetes管理大量不同的容器镜像非常重要。 容器启动速度 小镜像启动速度通常更快。因为在容器启动时需要将镜像中的文件系统加载到容器的存储层如果镜像文件较小那么加载的时间和资源消耗会相应减少从而提高容器的启动效率。 分层构建镜像的原理和优势 原理 Docker 镜像是由多层文件系统叠加而成的。每一层都代表了一次对文件系统的修改例如安装软件包、添加配置文件等操作。当构建镜像时Docker 会将这些操作按顺序记录下来形成一个分层的结构。 例如基础镜像如ubuntu:latest是最底层然后在其上添加新的层如安装nginx软件包会形成一个新的层修改nginx的配置文件又会形成另外一层。 优势对镜像大小的影响 复用已有层分层构建最大的优势之一是可以复用层。如果多个镜像都基于相同的基础镜像并且在基础镜像之上的某些层是相同的例如都安装了相同的系统库那么这些相同的层在存储时只会保存一份。 例如有镜像 A 和镜像 B 都基于ubuntu:latest构建并且都安装了python3 - pip包那么这个python3 - pip安装层只会在存储中保存一次多个镜像可以共享该层。这样可以大大减少镜像存储所需的空间总量。 增量构建和更新当需要更新镜像中的某一部分时只需要更新对应的层。例如如果只是更新了应用程序的代码而没有改变基础操作系统或其他依赖库那么只有包含代码的层会被更新其他层可以保持不变。这使得更新镜像时的数据传输量最小化有助于保持镜像大小的合理性。 分层构建镜像的最佳实践 合理选择基础镜像 基础镜像的大小对最终镜像大小有很大影响。尽量选择轻量级的基础镜像。例如对于基于 Linux 的应用程序如果不需要完整的 Ubuntu 或 CentOS 系统的所有功能可以选择alpine作为基础镜像。alpine是一个轻量级的 Linux 发行版其镜像大小通常只有几兆字节相比完整的 Ubuntu 或 CentOS 镜像可能几百兆字节要小很多。 例如构建一个简单的 Python Web 应用容器使用python:alpine作为基础镜像会比使用python:ubuntu产生更小的镜像。 合并多层操作减少层数 虽然分层有很多优势但过多的层也可能导致一些问题如镜像存储和传输效率下降。在构建镜像过程中可以将一些相关的操作合并到同一层中。 例如在安装多个软件包时可以在一个RUN指令中完成而不是为每个软件包安装使用一个单独的RUN指令。比如在Dockerfile中不要这样写 RUN apt - get updateRUN apt - get install - y package1RUN apt - get install - y package2应该这样写 RUN apt - get update apt - get install - y package1 package2这样可以减少镜像的层数因为每一个RUN指令都会产生一个新的层。 清理无用文件和缓存 在构建镜像过程中安装软件包或编译程序等操作可能会产生一些临时文件和缓存。这些文件会增加镜像的大小但在容器运行时可能并不需要。 例如在apt - get安装软件包后可以使用apt - get clean命令清理软件包缓存。在构建基于 Java 的应用程序镜像时编译后的字节码文件可能不需要包含源代码文件那么可以在构建过程中删除源代码文件。在Dockerfile中可以这样写 RUN apt - get update apt - get install - y package apt - get clean或者在构建 Java 应用程序镜像时 # 假设编译后的代码在/target目录源代码在/src目录COPY. /appWORKDIR /appRUN mvn clean install - DskipTestsRUN rm - rf /app/src通过分层构建镜像并结合上述最佳实践可以有效地控制 Docker 镜像的大小提高镜像的存储和使用效率。 多阶段构建 原理多阶段构建允许将构建过程分为多个阶段每个阶段可以使用不同的基础镜像和构建工具。在前面的阶段可以进行代码编译、测试等操作在后面的阶段只复制运行时需要的文件从而减少最终镜像的大小。 示例以一个 Go 语言应用为例第一阶段可以使用包含 Go 编译器的基础镜像来编译应用程序第二阶段可以使用一个轻量级的alpine基础镜像来运行编译后的程序。 # 第一阶段构建应用FROM golang:1.18 - alpine AS builderCOPY. /appWORKDIR /appRUN go build - o myapp# 第二阶段运行应用FROM alpine:latestCOPY -- from builder /app/myapp /usr/local/bin/myappCMD [myapp]在这个例子中第一阶段构建出了 Go 应用第二阶段只复制了运行时需要的可执行文件myapp到一个轻量级的alpine镜像中最终的镜像不包含 Go 编译器和其他构建过程中产生的不必要的文件大大减小了镜像大小。
http://www.sczhlp.com/news/155697/

相关文章:

  • 网站开发项目步骤windows2008 建网站
  • 做视频网站视频放在哪里企业运营管理论文
  • 鲜花网站开发背景win7如何安装iis来浏览asp网站
  • 怎么用pf做网站安康哪里做网站
  • 对外贸易网站有哪些广东的网站建设
  • 上海制作网站女装网站建设规划书
  • 长安城乡建设开发有限公司网站资源网站自己建设还是发软文
  • 做网站的工作是什么什么浏览器可以进黄页zol问答
  • 建设网站的发布与推广沈阳城市建设管理学校网站
  • 做网站为什么图片上传不了做网站要多少钱联系方式
  • 株洲58同城网站建设电话怎样做当地网站推广
  • 网站关键词用什么做青岛公司注册
  • 免费奖励代码网站3d网络游戏前十名
  • 网站建设阿里德阳手机网站建设
  • vue网站开发工程建设领域专项治理工作网站
  • 网站手机版模板免费下载做网站推广怎么样
  • 广东省石油化工建设集团公司网站盘多多网盘搜索
  • 医院网站建设官网网络营销什么意思
  • 佛山视频网站搭建公司做网站php与python
  • 做网站是不是就能上传东西途牛旅行网网站建设
  • 重庆网站seo按天计费佛山外贸型网站建设公司
  • Codeforces 1385G Columns Swaps 题解 [ 蓝 ] [ 扩展域并查集 ] [ 二分图最大权匹配 ] [ 基环树建模 ]
  • 72. 编辑距离
  • php 商务网站开发实战网络公司取名字参考大全
  • 信誉好的网站建设案例国家企业网查询
  • 网站的主题与风格说明如何在阿里云wordpress
  • 环保网站设计建设论文微网站开发软件
  • html5 网站搭建wordpress数据可视化
  • 网站手机源码成都黑马程序员培训机构官网
  • 产品推广网站哪个好网站建设的意义和目的