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

当使用Dockerfile Build镜像时,有时会发现发送到Daemon的内容过大

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
Sending build context to Docker daemon 4.358 GB
Step 0 : FROM xxx.xxx.com/centos:7
 ---> 218081f3bcdc
Step 1 : RUN mkdir -p /data/mysql/base
 ---> Using cache
 ---> ac4aa04a93a1
Step 2 : RUN adduser mysql
 ---> Using cache
 ---> f30c90e0e589
Step 3 : ADD base /data/mysql/base
 ---> 3666ada5715c
Removing intermediate container d65c5abdfe5c
Step 4 : ENTRYPOINT /data/mysql/base/entrypoint.sh
 ---> Running in 3be4e22baff7
 ---> a73907b2fbd5
Removing intermediate container 3be4e22baff7
Successfully built a73907b2fbd5
1
2
REPOSITORY    TAG   IMAGE ID            CREATED         VIRTUAL SIZE
marriadb     latest  a73907b2fbd5        25 seconds ago      530.9 MB



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

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

 

解决办法有两种:

 

1.创建.dockerignore文件,把不需要的文件写到里面,该文件包含的目录不会被发送到Docker daemon中

 

2.就找个空目录只有dockerfile。

本文转自银狐博客51CTO博客,原文链接http://blog.51cto.com/foxhound/1825402如需转载请自行联系原作者

战狐
上一篇:[C#][MySql]统计数据表总行数函数--C#和MySQL开发


下一篇:SendInput模拟键盘输入的问题 <转>