linux - 当 tar 找不到容器文件系统时 docker swarm create 失败

标签 linux docker docker-swarm

我正在 CentOS 虚拟机上运行 docker。部分版本信息:

Linux cmodqa.lab.c-cor.com 3.10.0-229.4.2.el7.x86_64 #1 SMP 5 月 13 日星期三 10:06:09 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux

[root@xxx ~]# docker版本 客户端版本:1.6.0 客户端API版本:1.18 Go版本(客户端):go1.4.2 Git 提交(客户端):8aae715/1.6.0 操作系统/Arch(客户端):linux/amd64 服务器版本:1.6.0 服务器API版本:1.18 Go版本(服务器):go1.4.2 Git 提交(服务器):8aae715/1.6.0 操作系统/Arch(服务器):linux/amd64

以 root 身份运行此命令:

TOKEN=$(docker run --rm swarm create)

返回:

时间戳:2015-05-29 09:26:25.967347311 -0700 PDT 代码:系统错误

消息:[/usr/bin/tar -cf/var/lib/docker/tmp/c77446605e81944d4fb0d09a68339d2026db2b2af100/_tmp.tar -C/var/lib/docker/devicemapper/mnt/c77446605e81944d4fb0d09a68339d2026 db2b2afs/tmp .] 失败:/usr/bin/tar:/var/lib/docker/devicemapper/mnt/c77446605e81944d4fb0d09a6cb119e60ff/rootfs/tmp:无法 chdir:没有这样的文件或目录 /usr/bin/tar:错误不可恢复:立即退出 :退出状态2

框架:

0:设置Rootfs 包:github.com/docker/libcontainer

文件:rootfs_linux.go@30

1:初始化 软件包:github.com/docker/libcontainer.(*linuxStandardInit)

文件:standard_init_linux.go@52

2:开始初始化 软件包:github.com/docker/libcontainer.(*LinuxFactory)

文件:factory_linux.go@223

3:初始化器 包:github.com/docker/docker/daemon/execdriver/native

文件:init.go@35

4:初始化 包:github.com/docker/docker/pkg/reexec

文件:reexec.go@26

5:主要 包:主要

文件:docker.go@29

6:主要 包:运行时

文件:proc.go@63

7:退出 包:运行时 文件:asm_amd64.s@2232 time="2015-05-29T09:26:27-07:00"level=fatal msg="来自守护进程的错误响应: : exit stat

tar 命令尝试读取的文件系统位置不存在:

[root@cmodqa系统]# ls -l/var/lib/docker/devicemapper/mnt/c77446605e81944d4fb0d09a68339d2026db2b2af1335a8a6395b1cb119e60ff/rootfs/tmp ls: 无法访问/var/lib/docker/devicemapper/mnt/c77446605e81944d4fb0d09a68339d2026db2b2af1335a8a6395b1cb119e60ff/rootfs/tmp: 没有这样的文件或目录

事实上:

ls -l/var/lib/docker/devicemapper/mnt/c77446605e81944d4fb0d09a68339d2026db2b2af1335a8a6395b1cb119e60ff 共 0 条

容器的 rootfs 似乎不存在。 (容器停止后会消失吗?)

我已经运行过几次了。结果相同。

最佳答案

我对 Git 上的 docker 存储库做了一些进一步的挖掘。

这是一个已知问题,显然是基于 Red Hat 的 Docker 打包,它影响的不仅仅是 swarm。

向 Redhat 提交了一个错误:

https://bugzilla.redhat.com/show_bug.cgi?id=1213258

使用 Docker 1.5.0 来解决这种情况。

关于linux - 当 tar 找不到容器文件系统时 docker swarm create 失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30535878/

相关文章:

linux - ext3cow 还在开发中吗?

c++ - 使用 QTextEdit 检测用户输入(并将其与应用程序更改区分开来)

docker - 如何在 docker swarm 约束中指定经理领导者

linux - 从 shellcode 启动的 Shell 在启动时立即停止

docker - Docker run -v将文件挂载为目录

linux - fallocate 在我的 docker 容器内失败

django - docker-compose 有两个容器 : web can not connect to db

docker 服务创建永不返回

docker - 我真的需要 docker swarm 吗?

linux - 使用 bash 从文本文件中读取字符