我创建了一个拥有两个节点的swarm。但是,当我使用docker-compose build && docker-compose up
启动我的项目时,它会崩溃错误:
ERROR: Error response from daemon: datastore for scope "global" is not initialized
这是一个非常简单的过程:
docker run swarm create
swarm哈希:
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。
答案 0 :(得分:1)
当我在Ubuntu机器上执行docker swarm init
时,我遇到了同样的错误。我发现swarm尝试访问端口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
关键是确保有适当的端口可用。 希望这有帮助