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

问题描述 投票:0回答:5

当我运行 docker 文件时,收到来自 docker 的错误。它说 /var/lib/docker/aufs/layers/xxxx: 当我运行 Docker build 时没有这样的文件或目录。

我尝试了多种方法来删除容器和图像,所以我对这个非常了解。

任何

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
node.js docker dockerfile
5个回答
9
投票

对于这种损坏,我会尝试一次完整的 docker 擦拭,

rm -rf /var/lib/docker/*
。在此之前,请备份所有数据(卷),然后关闭 docker,然后您需要再次拉取或重建所有映像。如果 aufs 仍然存在问题,请尝试更改文件系统驱动程序,例如在服务启动中更改为
dockerd -s overlay2

首先检查常见问题(例如磁盘空间不足或应用程序旧版本)并没有什么坏处。


2
投票

尝试在干净的机器上再次构建图像或使用 --no-cache 标志,这似乎是一个缓存问题。

另外 - 在我的公司,我们将代码克隆到构建映像的机器中,然后将代码复制到容器中。在我看来 - 这是一个更好的解决方案,但我认为这是一个品味问题。


2
投票

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

0
投票

Windows + shell 脚本

当我在几个月后再次遇到同一问题时,我在这里写下这个答案,部分是为了自己。

如果您在 windows 上运行 docker 并收到有关在 shell script 入口点(或一般情况)找不到文件的错误,请确保脚本没有

CRLF
行结尾。否则,它们的行为就会很奇怪,尝试调试就很糟糕。


-1
投票
docker system prune -af 

为我工作

© www.soinside.com 2019 - 2024. All rights reserved.