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
再次构建,问题处理,速度快了好多,对比如下:
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 零经验选手,Compose 一天开发一款小游戏!
· 通过 API 将Deepseek响应流式内容输出到前端
· 因为Apifox不支持离线,我果断选择了Apipost!