当使用Dockerfile Build镜像时,有时会发现发送到Daemon的内容过大
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
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。
解决Docker build时 Sending build context to Docker daemon 过大的问题
原文地址:http://foxhound.blog.51cto.com/1167932/1825402