我在运行docker文件时收到docker的错误。它说的是/ var / lib / docker / aufs / layers / xxxx:当我运行Docker构建时没有这样的文件或目录。
我已经尝试了很多方法来删除容器和图像,所以我非常喜欢这个。
任何
Docker文件是:
FROM node:6
RUN git clone https://github.com/preboot/angular2-webpack.git
WORKDIR angular2-webpack
RUN sed -i.bak 's/--port 8080/--host 0.0.0.0 --port 8080/'
package.json RUN npm i
CMD [ "npm", "run", "start" ]
完整的控制台输出是:
Sending build context to Docker daemon
9.728 kB
Step 1 : FROM node:6
6: Pulling from library/node
6a5a5368e0c2: Already exists
7b9457ec39de: Already exists
ff18e19c2db4: Already exists
6a3d69edbe90: Already exists
0ce4b037e17f: Already exists
82252a100d5a: Already exists
Digest:
sha256:db245bde5445eb122d8dc090ba98539a9ef7f56c0ea981ade643695af0d8eaf0
Status: Downloaded newer image for node:6
---> 9873603dc506 Step 2 :
RUN git clone https://github.com/preboot/angular2-webpack.git open
/var/lib/docker/aufs/layers/9319fd93cb6d6718243ff2e65ce5d2aa6122a1bb9211aa9f8e88d85c298727e5:
no such file or directory User:docker-test
修改
由于@BMitchs的建议,问题得到了解决:
答案 0 :(得分:5)
有了这种腐败,我会给一个完整的码头工人擦拭,rm -rf /var/lib/docker/*
。在此之前,备份所有数据(卷),然后关闭docker,您将需要再次拉取或重建所有图像。如果aufs仍然存在问题,请尝试更改文件系统驱动程序,例如在服务启动中更改为dockerd -s overlay2
。
首先检查常见问题(例如用尽磁盘空间或旧版本的应用程序)并没有什么坏处。
答案 1 :(得分:2)
尝试在干净的机器上再次构建映像或使用--no-cache标志,这似乎是一个缓存问题。
另外 - 在我公司,我们将代码克隆到构建映像的机器中,然后将代码复制到容器中。在我看来 - 这是一个更好的解决方案,但我认为这是一个品味问题。
答案 2 :(得分:0)
Docker使用的数据文件已损坏。您可以执行以下命令:
1-如果存在,则删除包含和图像
docker rm CONTAINER ID
docker rmi IMAGE ID
2-停止Docker服务(Ubuntu)
service docker stop
3-启动Docker服务(Ubuntu)
service docker start
4-检查Docker服务状态(Ubuntu)
service docker status