【发布时间】:2018-05-21 21:58:56
【问题描述】:
我想在 Swarm 模式下测试 docker。
我创建了 3 个 Ubuntu 服务器虚拟机。
在每个虚拟机上我都安装了 docker。
我想要完成的下一步是在 3 个 docker 节点之间共享 /var/lib/docker/volumes 文件夹。
我尝试的第一个解决方案是将 /var/lib/docker/volumes 挂载为远程 sshfs 卷。我失败了,因为当 docker 服务启动时,它在 /var/lib/docker/volumes 上执行命令 chown 并且失败了。
然后我尝试使用 glusterfs,我成功将 gluster 配置为在 3 个节点上共享同一个文件夹(现在如果我在 /var/lib/docker/volumes 在第一个节点上,我也可以在其他 2 个节点上看到新文件)。
然后我在第一个节点上启动 docker 没有任何问题。但是,如果我尝试在第二个节点上启动 docker,则会收到错误消息:
错误启动守护进程:打开卷存储元数据库时出错:超时
我认为错误是因为第一个节点获得了文件 /var/lib/doceker/meradata.db
上的锁我该如何解决这个问题? 是否可以使用 glusterfs 共享 docker 卷文件夹?
谢谢
【问题讨论】:
标签: docker docker-swarm glusterfs