错误:来自守护程序的错误响应:范围“全局”的数据存储未初始化

我创造了一个群,有两个节点。 但是,当我使用docker-compose build && docker-compose up来启动我的项目时,它崩溃错误了:

ERROR: Error response from daemon: datastore for scope "global" is not initialized

这是一个非常简单的过程:

docker run swarm create

群集哈希1477bcd7778d083e02a80c352d4f1b87

docker-machine create -d virtualbox --swarm --swarm-master --swarm-discovery token://1477bcd7778d083e02a80c352d4f1b87 myswarmmaster

docker-machine create -d virtualbox --swarm --swarm-discovery token://1477bcd7778d083e02a80c352d4f1b87 myremotenode1

eval $(docker-machine env --swarm myswarmmaster)

docker-compose build && docker-compose up

然后我得到的错误:

ERROR: Error response from daemon: datastore for scope "global" is not initialized

我在Fedora 25上运行docker。

当我在Ubuntu机器上执行docker swarm init时,发生同样的错误。 我发现群集试图访问端口2377,所以首先打开端口2377 sudo ufw allow 2377现在docker swarm init工作,并显示这样的消息

 Swarm initialized: current node (sdf23fsd3f24fr3f2f) is now a manager. To add a worker to this swarm, run the following command: docker swarm join \ --token SW3Wwww-1-0dfsdffsdfdsfsdfdsfdfdsfdsf-dsfsdfdsfdsfdsfd \ 52.15.91.31:2377 

关键是确保适当的端口可用。 希望这可以帮助