Docker - 没有这样的文件或目录

时间:2016-10-08 23:58:14

标签: node.js docker dockerfile

我在运行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的建议,问题得到了解决:

  1. rm -rf / var / lib / docker / *
  2. 完全卸载Docker
  3. 重新安装docker

3 个答案:

答案 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