Aug*_*ger 29 docker docker-compose
我需要空间并执行: docker rmi $(docker images -f "dangling=true" -q)
从那以后我不能用docker-compose : docker-compose build,我得到错误:ERROR: Error processing tar file(exit status 1): unexpected 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
Run Code Online (Sandbox Code Playgroud)
Okt*_*tav 52
我有同样的问题,批准的答案对我不起作用.
事实证明我有一个具有权限的文件,该文件不允许用户运行docker-compose来读取它.删除文件后一切正常
Far*_*ahi 16
有一个内置命令可以删除未使用的图像(版本1.13+):
docker image prune
Run Code Online (Sandbox Code Playgroud)
现在来处理这种情况:
停止Docker服务
systemctl stop docker
Run Code Online (Sandbox Code Playgroud)/var/lib/docker然后备份:
删除/var/lib/docker
警告:这将删除图像,容器,卷,...请确保先备份它.
rm -rf /var/lib/docker
Run Code Online (Sandbox Code Playgroud)启动Docker服务
systemctl start docker
Run Code Online (Sandbox Code Playgroud)更新:
正如另一个答案所述,在某些情况下,它可能是文件权限问题.请检查权限.
docker build需要对上下文目录树中的每个文件进行读取访问。为了避免权限问题,请将所有安装的目录添加到.dockerignore文件中,构建所需的目录除外。例如,对于此docker-compose文件:
version: '3'
services:
myservice:
build: .
volumes:
- './etc:/etc/myservice'
- './log:/var/log/myservice'
Run Code Online (Sandbox Code Playgroud)
添加包含.dockerignore以下内容的文件:
/etc
/log
Run Code Online (Sandbox Code Playgroud)
无论安装目录中的文件的权限如何,问题都会消失。
该docker-compose错误信息不是很丰富,因此您可以尝试docker在每个构建上运行以获取详细信息:
$ docker build .
Run Code Online (Sandbox Code Playgroud)
你会得到这样的错误:
error checking context: 'no permission to read from '/home/david/docker/myservice/log/2020161.log'.
Run Code Online (Sandbox Code Playgroud)
对我来说,这是一个许可错误。我遇到了与 PR 完全相同的问题,
ERROR: Error processing tar file(exit status 1): unexpected 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
Run Code Online (Sandbox Code Playgroud)
更详细的解释可以在这里找到:https : //www.pluralsight.com/blog/it-ops/linux-file-permissions
| 归档时间: |
|
| 查看次数: |
38896 次 |
| 最近记录: |