layout: post
title: Docker错误集合
date: 2018-11-24 00:07:52
categories: Docker
catalog: true
tags:
- Docker
本文收集我在使用Docker时遇到的一些错误及解决办法。
Could not acquire image ID or digest following build
在使用Docker构建微服务镜像时出现的错误。第一天构建好好的,第二天就出现了这样的错误。通过百度这条错误的信息非常少,只在 stackoverflow.com
上找到一条,问题指向了 dockerfile-maven 插件,我确实使用了这个插件来,并通过远程的方式来构建我的微服务镜像。之前使用的是它的兄弟 docker-maven-plugin 插件。在 dockerfile-maven
的 issues 中有人提到了这个错误,但解决方法是与 .dockerignore
有关,但在我的项目中并没有使用.dockerignore
,这就很尴尬了,除了这里网上再也找不出来这个错误解决方法了,使出终极大法重装 Doker ,这个错误就消失了,,
Exception caught: failed to create rwlayer: lstat /var/lib/docker/overlay2/87edaf82c30c5d40e74518162047eb095d0813c4dee1ba00ef026d1bb88bf100: no such file or directory
我在使用Docker构建镜像是出现了空间不足的提示,通过 df -h
发现 var
目录已经100%了。于是在目录下通过du -
sh 看这个目录下而到底是那个文件占了这么多空间。最后找到是 /var/lib/docker/overlay2
目录,打开里面都是一些类似一串数字字母命名的文件,我以为是缓存的文件,直接全部删除了,,后来才知道是一些存储驱动相关的文件。删除之后构建镜像就出现了上面的报错。解决方法是使用命令:
[root@HJWDEV microservice-config-server]# docker system prune -a
WARNING! This will remove:
- all stopped containers
- all networks not used by at least one container
- all images without at least one container associated to them
- all build cache
Are you sure you want to continue? [y/N] y
可以看到命令以上命令会删除很多数据,包括已经下载的镜像都会被删除。全部删除之后再重新构建镜像就可以了