美文网首页
docker build Sending build conte

docker build Sending build conte

作者: 老肖 | 来源:发表于2024-05-12 09:57 被阅读0次

背景

最近在构建一个前端镜像的时候,docker build特别慢,需要10分钟,而前端为nginx静态文件,总共也才10MB。
Sending build context to Docker daemon 这部时间特别长,文件传输特别大。

image.png

原因

观察构建过程中的记录, 在Sending build context to Docker daemon 步骤发送了大量的文件,且很缓慢。

后来看了下docker build构建机制,

docker在构建过程中,会将当前文件夹下的文件 发送给docker 的deamon

而前端文件往往在研发和构建过程中会下载大量的node_modules,下面下有大量的子文件夹及内容。 这些大量的小文件都需要传到到构建环境。 构建会特别缓慢。


image.png

node_modules 如果是前端问题万恶之源。

解决方案 --

  1. 由于前端项目,dockerfile一般都放在git仓库根目录, 比较好的方式就是构建过程中不传输这些node_modules目录。 采用git自身的方案, 添加.dockerignore 文件。
src
node_modules 
  1. 也可以在构建过程中,找个空文件夹中,只存放需要进行参与构建镜像的文件。

验证

优化后 文件build context 传输内容大大减小。


果然在CICD中构建时间从5分钟 ,优化到30秒。


image.png

相关文章

网友评论

      本文标题:docker build Sending build conte

      本文链接:https://www.haomeiwen.com/subject/lvqufjtx.html