Docker-centOS 7 上的 CE 不能 运行 容器

Docker-CE on centOS 7 can't run containers

我有 Docker-CE 18.05.0-ce(也在 18.03.0 上试过)。
安装后(使用官方文档进行安装和 post-安装)尝试 运行:

docker run hello-world

可以下载但由于权限问题无法解压: 命令的输出:

docker: failed to register layer: ApplyLayer exit status 1 stdout:  stderr: permission denied

调试模式下的输出:

DEBU[2018-06-15T12:50:48] Downloaded 9bb5a5d4561a to tempfile /var/lib/docker/tmp/GetImageBlob852000141
DEBU[2018-06-15T12:50:48] Start untar layer
DEBU[2018-06-15T12:50:48] Cleaning up layer 5e34eb70d39d9ddbe0512db63ef2bf4811924cffbc5c6ce0a34e9c3b37af5363: ApplyLayer exit status 1 stdout:  stderr: permission denied

我尝试使用 sudo 并更改 /var/lib/docker

中文件夹的权限(例如 777)

有人知道怎么解决吗?

一些信息来自docker info:

Storage Driver: vfs
Cgroup Driver: cgroupfs
Runtimes: runc
Kernel Version: 4.13.13-5-pve
Operating System: CentOS Linux 7 (Core)

这可能与磁盘使用有关。磁盘中有 space 吗?

$ df -h

或 inode 耗尽:

$ df -i

如果您有 space 和空闲 inode,请检查您的版本:

# rpm -qa | grep -i docker
docker-common-1.13.1-53.git774336d.el7.centos.x86_64
docker-1.13.1-53.git774336d.el7.centos.x86_64
docker-client-1.13.1-53.git774336d.el7.centos.x86_64

# docker --version
Docker version 1.13.1, build 774336d/1.13.1

原因是我用CentOS做虚拟机,LXC虚拟化。 在 LXC 中有 how to 运行 Docker 的解决方案,但没有尝试。 我已将 VM 更改为具有 KVM 虚拟化的新虚拟机,现在 Docker 可以使用了。