解决Docker build时 Sending build context to Docker daemon 过大的问题

本文深入探讨了使用Dockerfile构建镜像时遇到的问题,即发送到Docker守护进程的内容过大。通过分析,我们发现了Docker客户端默认行为导致此现象,并提供了两种解决方法:使用.dockerignore文件设置黑名单,或者将Dockerfile迁移到其他目录执行。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

当使用Dockerfile Build镜像时,优势会发现发送到Daemo的内容过大

build image:q_build/javaweb:20150910174642
Sending build context to Docker daemon 4.768 GB
Sending build context to Docker daemon 
Step 0 : FROM 192.168.100.123:5000/q_basic/javaweb:1.0
 ---> 0aab72ab2945
Step 1 : MAINTAINER tyleryan <156926528@qq.com>
 ---> Running in 177026c30954
 ---> 3cc2be8f728d
Removing intermediate container 177026c30954
Step 2 : ADD monitor.war /usr/local/tomcat/webapps/
 ---> b8b56342b691
Removing intermediate container c0108ff358f3
Step 3 : EXPOSE 8080
 ---> Running in 451fa4de3e21
 ---> 13f7293f7ffe
Removing intermediate container 451fa4de3e21
Successfully built 13f7293f7ffe
delete locally build docker images:q_build/javaweb:20150910174642

但是我们的Dokerfile 非常简单,那么这些多出来的内容是从哪里来的呢。

查阅资料后,

发现Docker Client会默认发送Dockerfile同级目录下的所有文件到Dockerdaemon中。

 

解决办法有两种:

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

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

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值