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

在构建Docker镜像时遇到发送到Docker守护进程的构建上下文过大(4.768 GB)的问题。这会降低构建效率。原因在于Docker客户端会发送Dockerfile所在目录的全部内容。解决方案包括使用.dockerignore文件排除不需要的文件或移动Dockerfile到单独的目录进行构建。

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

Java代码  收藏代码
  1. build image:q_build/javaweb:20150910174642  
  2. <strong><span style="color: #ff0000;">Sending build context to Docker daemon 4.768 GB</span></strong>  
  3. Sending build context to Docker daemon   
  4. Step 0 : FROM 192.168.100.123:5000/q_basic/javaweb:1.0  
  5.  ---> 0aab72ab2945  
  6. Step 1 : MAINTAINER tyleryan <156926528@qq.com>  
  7.  ---> Running in 177026c30954  
  8.  ---> 3cc2be8f728d  
  9. Removing intermediate container 177026c30954  
  10. Step 2 : ADD monitor.war /usr/local/tomcat/webapps/  
  11.  ---> b8b56342b691  
  12. Removing intermediate container c0108ff358f3  
  13. Step 3 : EXPOSE 8080  
  14.  ---> Running in 451fa4de3e21  
  15.  ---> 13f7293f7ffe  
  16. Removing intermediate container 451fa4de3e21  
  17. Successfully built 13f7293f7ffe  
  18. delete locally build docker images:q_build/javaweb:20150910174642  

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

查阅资料后,

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

 

解决办法有两种:

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

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

评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值