Sending build context to Docker daemon 解决办法

最近发现jenkins 构建前端项目,时间特别长,在jenkins构建日志发现Docker Image Push这一步时间特长,查看日志排查得到以下信息

09:28:31  -rw-r--r--    1 root root   5492 4月  25 08:37 vue.config.js
09:28:31  -rw-r--r--    1 root root 459350 7月  26 2021 yarn.lock
09:28:31  + docker build --no-cache -t ************************ .
09:34:50  Sending build context to Docker daemon 4.776 GB

这里意思是:正在将生成上下文发送到Docker守护程序。如果dockerfile的同级目录文件过多过大,docker build的时候会向上下文环境发送,导致很慢,这个时候的解决办法有:

1.使用.dockerignore文件,设置黑名单,该文件包含的目录不会被发送到Docker daemon中

2.将Dockerfile迁移后其他目录中执行。

3.将不需要的文件删除

经过排查,在jenkins的工作目录下,Dockerfile的同级目录下有个node_modules的目录特别大,所以这块会把node_modules的目录也发送到Docker守护程序,导致很慢。

解决方法:在Dockerfile同级目录下添加.dockerignore文件,文件内容如下:

# cat .dockerignore
./node_modules

再次构建,问题处理,速度快了好多,对比如下:

posted @   hao810  阅读(1222)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 零经验选手,Compose 一天开发一款小游戏!
· 通过 API 将Deepseek响应流式内容输出到前端
· 因为Apifox不支持离线,我果断选择了Apipost!
点击右上角即可分享
微信分享提示