Docker错误:处理tar文件时出错(退出状态1):意外的EOF
我需要空间并执行:Docker错误:处理tar文件时出错(退出状态1):意外的EOF,docker,docker-compose,Docker,Docker Compose,我需要空间并执行:dockerrmi$(dockerimages-f“dangling=true”-q) 从那时起,我无法使用docker compose:docker compose build,我收到错误:错误:处理tar文件时出错(退出状态1):意外的EOF 我试图删除所有图像,重新安装docker,但什么也做不到:总是相同的错误,经过一段时间 我建立在另一个系统上,它成功了,这表明这是一个错误的国家问题 知道我应该清理什么吗 使用: ▶ docker version Client: V
dockerrmi$(dockerimages-f“dangling=true”-q)
从那时起,我无法使用docker compose:docker compose build
,我收到错误:错误:处理tar文件时出错(退出状态1):意外的EOF
我试图删除所有图像,重新安装docker,但什么也做不到:总是相同的错误,经过一段时间
我建立在另一个系统上,它成功了,这表明这是一个错误的国家问题
知道我应该清理什么吗
使用:
▶ docker version
Client:
Version: 17.03.0-ce
API version: 1.24 (downgraded from 1.26)
Go version: go1.7.5
Git commit: 3a232c8
Built: Tue Feb 28 08:01:32 2017
OS/Arch: linux/amd64
Server:
Version: 1.12.6
API version: 1.24 (minimum version )
Go version: go1.6.2
Git commit: 78d1802
Built: Tue Jan 31 23:35:14 2017
OS/Arch: linux/amd64
Experimental: false
▶ docker-compose version
docker-compose version 1.11.2, build dfed245
docker-py version: 2.1.0
CPython version: 2.7.13
OpenSSL version: OpenSSL 1.0.1t 3 May 2016
有一个内置命令用于删除未使用的图像(版本1.13+): 现在来处理这一情况:
- 停止Docker服务
systemctl stop docker
- 备份
然后:/var/lib/docker
- 删除
警告:这将删除图像、容器、卷等。。。确保你先备份它/var/lib/docker
rm -rf /var/lib/docker
- 启动Docker服务
systemctl start docker
正如在另一个答案中所指出的,在某些情况下可能是文件权限问题。请检查权限。我也遇到了同样的问题,并且批准的答案对我不起作用
事实证明,我有一个具有权限的文件,不允许运行docker compose的用户读取它。删除文件后,一切正常对于我来说,问题是Docker Pull被挂起,因此我按CTRL+C组合键退出并重试。相同的错误消息 最后,我在这个目录中找到了root拥有的一些文件。给予文件适当的权限修复了这个问题
chown-R:/var/lib/docker/tmp
- MAC Docker版本17.12.0-ce,内部版本c97c6d6
虽然我遇到的错误是:
处理tar文件时出错(退出状态1):mkdir/some/path/name:没有这样的文件或目录
尝试增加Docker的内存,但它解决了我的问题
Preferences中的Docker内存设置被设置为2GB,因此在拖动~3GB图像时,我正好遇到了以下错误:
$ docker pull skymindops/skil-ce
latest: Pulling from skymindops/skil-ce
118c5f2883d6: Pull complete
3d199b2e6224: Extracting [==================================================>] 2.902GB/2.902GB
failed to register layer: Error processing tar file(exit status 1): unexpected EOF
增加内存限制修复了它(我也增加了交换,但不确定是否需要它)。在我的例子中,问题是由我的一个项目脚本创建的.dump文件
docker compose
将上下文作为tar文件传递给引擎,因此,build
命令将tar(.dump文件)打包到另一个tar文件(docker上下文)中,从而在上下文上引发意外的EOF
由于容器中不需要.dump文件,我将其添加到了.dockrignore文件中。对我来说,这是一个权限错误。 我反对与公关完全相同的问题,
错误:处理tar文件时出错(退出状态1):意外的EOF
我的解决方案是肮脏的,但对我有效
chown-R 777/foo/bar/project
您几乎总是希望避免在777上设置权限,655更为合理
0 = ---
1 = --x
2 = -w-
3 = -wx
4 = r-
5 = r-x
6 = rw-
7 = rwx
可在此处找到更详细的解释:
参考:
一,。清理系统上的容器、映像、卷和网络:
docker系统删减--全部--强制--卷
2.docker compose up我尝试了一切,从重新启动、重新安装docker到清除
/var/lib/docker
我的原因是破坏了项目中的构建上下文。在运行git clean
将项目目录重置回其原始状态后,我能够docker compose
在项目的根目录中运行git clean-iXd
,以交互方式git clean
编辑:过了一会儿,事情又发生了。这次,
git clean
没有修复它。我很确定这只发生在Ubuntu上。我的主要同事从未遇到过它。我找到了一个临时解决方案:
docker compose.yml
例如,将映像名称和容器名称指定为django_practice_db/django_practice_web
服务:
django_practice_db:
图片:博士后
容器名称:django_practice_db
django_实习网站:
容器名称:django_practice_web
生成:。
命令:pipenv run python manage.py runserver 0.0.0.0:8000
docker编写构建
docker compose up
不确定为什么在更改文件夹路径时可以生成图像。在python项目中更改Dockerfile位置时,我遇到了相同的问题。我尝试了被接受的答案,但不适合我 我通过运行以下命令解决了问题:
find . | grep -E "(__pycache__|\.pyc|\.pyo$)" | xargs sudo rm -r
在项目根目录上
问题是docker compose build试图读取pycache文件夹中的文件
也许这也可以通过正确使用Dockrignore来解决,但我不想尝试
希望这有帮助
Saludos。可能有几个不同的问题。您可以通过检查docker build抛出的问题来发现问题 问题是docker compose build将抑制问题的信息。找出问题所在 不要使用:
docker-compose build XXX
相反,打开docker-compose.yml,找到服务的build:tag给您带来了问题,例如
服务:
您的服务:
build:yourservice目录/
然后运行:
docker build yourservice-directory
在此之后,您将看到问题所在。永久解决此错误
docker build yourservice-directory
/etc
/log
$ docker build .
error checking context: 'no permission to read from '/home/david/docker/myservice/log/2020161.log'.
Error processing tar file(exit status 1): write /code/node_modules/xxx: no space left on device
/opt/McAfee/ens/tp/init/mfetpd-control.sh stop