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

金坛市政建设有限公司网站网站页面禁止访问

金坛市政建设有限公司网站,网站页面禁止访问,网络营销的特点主要包括什么,做网站语言最好工作中常常用到docker,现在有这样一个场景:已经有一个打好的docker镜像A,主要是包含系统文件(1-3G)、pyhton env(9-10G)文件、模型权重文件modelA(65G)和python代码文件。同时重新安装pyhton env耗时很久(安装torch/cuda/sglang)等等。现在要…

       工作中常常用到docker,现在有这样一个场景:已经有一个打好的docker镜像A,主要是包含系统文件(1-3G)、pyhton env(9-10G)文件、模型权重文件modelA(65G)和python代码文件。同时重新安装pyhton env耗时很久(安装torch/cuda/sglang)等等。现在要把modelA切换为modelB(也是65G),要快速的构建好docker image B,同时又要保证docker image B的体积尽可能的小。那么这个dockerfile该怎么写呢?

        为了构建的时间最小,因此python env 不要再次安装(这个一般需要2-3个小时,也假设之前构建docker镜像A的时候 pip 没有缓存),那么就得依赖docker镜像A;为了最终构建镜像体积小,所以要不镜像A中的模型权重文件modelA给删除掉。按照这个思路貌似就很容易完成这个任务。

FROM imageA
RUN rm -rf /app/*.py
RUN rm -rf /app/modelACOPY models/modelB modelB 
ENV PATH="/app:$PATH"
COPY config.toml .
COPY *.py .
RUN python3 -m pip install pytomlpp -i https://pypi.tuna.tsinghua.edu.cn/simple
CMD ["python", "llm_sglang_server_ws.py"]

最后运行docker build -t  imageB -f ./Dockerfile . 构建新的镜像,最后发现imageB的体积比imageA要大65G,貌似RUN rm -rf /app/modelA 并没有生效一样。这是因为docker镜像的存储是按照layer来进行的,dockerfile中每一条命令FROM、COPY、RUN、CMD等都会产生一个layer,每一层layer都是基于之前的所有layer来进行构建的。docker镜像的大小就是所有layer的大小之和。具体都上面的dockerfile中,RUN rm -rf /app/modelA 这个命令指示标记删除modelA在最后的镜像中不可见,但是modelA仍然存在某些layer中

FROM imageA                                                                                                          75G
RUN rm -rf /app/*.py                                                                                                 0B
RUN rm -rf /app/modelA                                                                                           0B

COPY models/modelB modelB                                                                                 65G
ENV PATH="/app:$PATH"                                                                                        0B
COPY config.toml .                                                                                                   1kB
COPY *.py .                                                                                                               80kB
RUN python3 -m pip install pytomlpp -i https://pypi.tuna.tsinghua.edu.cn/simple     13MB
CMD ["python", "llm_sglang_server_ws.py"]                                                              0B

因此总计 65G+75G = 140G

因此我们就需要采用多阶段来构建,多阶段就是使用多个FROM命令,有个特点就是镜像只会保留最后一个FROM后面的非FROM命令的层。先把dockerfile多阶段构建的给出来

FROM imageA as builder
RUN rm -rf /app/*.py
RUN rm -rf /app/modelAFROM scratch
WORKDIR /app
COPY --from=builder / /
COPY models/modelB modelBARG docker_dir="docker"
ENV PATH="/app:$PATH"
COPY config.toml .
COPY *.py .
RUN python3 -m pip install pytomlpp -i https://pypi.tuna.tsinghua.edu.cn/simple
CMD ["python", "llm_sglang_server_ws.py"]

分析一下这个dockerfile以及构建后的镜像

首先FROM scratch引入了一个空镜像,不占空间;COPY --from=builder / / 从第一阶段的镜像中把/路径下的文件全部复制过来了(包含各种系统文件、python env等),docker history Image 看看构建后的镜像:

镜像总计9层,每层的大小也具体显示出来了,符合我们上述的分析——只有最后一个FROM后的命令对应的layer保留下来了。

以上内容仅仅是对当前场景怎么快速构建一个体积相对较小同时有满足需求的镜像,给出了演示和分析。关于docker镜像的压缩和精简,在构建的时候还有其他的一些技巧,合并多个同类命令为一个命令、清除缓存、使用轻量化的基础镜像等,这里我们就不做过多的学习了。


文章转载自:

http://S8406vpV.mjtgt.cn
http://nejHTWlU.mjtgt.cn
http://MmEP9DJe.mjtgt.cn
http://tFZdqqL6.mjtgt.cn
http://JSpOFSrj.mjtgt.cn
http://UuasM7Tg.mjtgt.cn
http://tY2yZKmb.mjtgt.cn
http://Xd2jExQM.mjtgt.cn
http://4zTHpYOK.mjtgt.cn
http://sDCbEkT6.mjtgt.cn
http://MtrmzSJ9.mjtgt.cn
http://EgNWPMUT.mjtgt.cn
http://8NJFAcba.mjtgt.cn
http://SiMzbn19.mjtgt.cn
http://28GQuRQl.mjtgt.cn
http://4xqAw9AU.mjtgt.cn
http://m6dKHLcB.mjtgt.cn
http://Nyheeae3.mjtgt.cn
http://ntkCeAJt.mjtgt.cn
http://JRZiboPM.mjtgt.cn
http://UnBbF85M.mjtgt.cn
http://mObTOrp9.mjtgt.cn
http://OF1lUslL.mjtgt.cn
http://7jtBaHYn.mjtgt.cn
http://VqkmaBS3.mjtgt.cn
http://3a6OEbCG.mjtgt.cn
http://xDQxz2t5.mjtgt.cn
http://h2x7GJv4.mjtgt.cn
http://cpOtvrOA.mjtgt.cn
http://Xqu3G0Mo.mjtgt.cn
http://www.dtcms.com/wzjs/758552.html

相关文章:

  • 政务咨询投诉举报网站建设平面设计网上接单
  • wordpress 无法注册湖南企业竞价优化公司
  • 厦门 外贸网站定制型网站制作
  • 网站维护与排名网站运营需要学什么
  • 电影网站这么做关键词先进的网站建设
  • 哪个网站可以做视频播放器从事网站开发需要什么
  • 建设常规的网站报价是多少网站描述怎么写比较好
  • 解释网站为什么这样做wordpress登陆页面模板
  • 微网站 html盘多多搜索引擎入口
  • 陕西建设厅执业注册中心网站做网站的属于什么专业
  • 哪里有给网站做什么公司适合做seo优化
  • 如何做网站描述wordpress 主题下载
  • 12306网站为什么做那么差asp.net做网站教程
  • 城乡建设主管部门官方网站wordpress cu主题
  • 德阳网站建设怎么做查询数据输入的网站
  • 游戏建模培训手机优化不足80怎么办
  • 美食网站首页设计为什么外包会是简历污点
  • 网站做全景图预览wordpress 插件 论坛
  • 网站建设过程中的通用原则2345浏览器网址
  • 西安做网站需要多少钱87网站一起做
  • 亚马逊做网站发礼物换评价视频网站怎么做的
  • 网站管理规范电商网站设计
  • 网站设计稿是怎么做的wordpress 会员投稿
  • 建立wordpress网站吗wordpress 参数 传递
  • 电商网站建设外包费用辽阳化工网站建设
  • 网站建设属于销售费用网站做镜像检查漏洞
  • 网页字体尺寸设计惠州关键词排名优化
  • 网站的字体做多大上海知名装修公司排行
  • 四川住房城乡和城乡建设厅网站门头沟富阳网站建设
  • 网站开发及流行框架广东省一流高职院校建设专题网站