docker build的问题
最近使用dockerfile时,突然build卡住不动了。打开另一个终端,无意间查看磁盘空间时发现/目录居然100%了。
最后发现是/var/lib/docker/tmp/下占用了大量空间
这个目录是docker build 产生的文件的临目录,但是让人觉得奇怪的是,同样的一个dockerfile,在之前也有使用过,并没有出现build过程中撑爆根分区的问题。
最后,再次查阅资料发现。docker build的过程中会将deockerfile同级目录里面的所有内容一起打包到docker daemon里面
例如
# ls Dockerfile mtk01 qc01 sc01
Dockerfile的同级目录下面有这三个项目,那么在执行docker build的时候,会把这三个项目一起打包进docker daemon中,即/var/lib/docker/tmp/。
那么如何避免这种情况呢?
方法一:
使用.dockerignore文件,设置黑名单,该文件包含的目录不会被发送到Docker daemon中
vim .dockerignore cat .dockerignore
./mtk01 ./qc01 ./sc01
方法二:
将dockerfile换个目录
mdkir DOCKER mv Dockerfile DOCKER cd DOCKER docker build -t XXX:XXX .