Terraform无法让dockerjoin群

我正在尝试使用Terraform来启动一些configurationDocker群集的EC2服务器。 我得到了这个github回购所有的代码。

错误

aws_instance.swarm-node.0 (remote-exec): Connected! aws_instance.swarm-node.0 (remote-exec): Cannot connect to the Docker daemon. Is the docker daemon running on this host? aws_instance.swarm-node.0 (remote-exec): flag needs an argument: --token aws_instance.swarm-node.0 (remote-exec): See 'docker swarm join --help'. 

使用–token的代码

 provisioner "remote-exec" { inline = [ "echo ===================================", "echo JOIN-TOKEN: `docker -H ${aws_instance.swarm-manager.0.private_ip} swarm join-token -q` ", "echo ===================================", "echo ===================================", "sudo docker swarm join ${aws_instance.swarm-manager.0.private_ip}:2377 --token $(docker -H ${aws_instance.swarm-manager.0.private_ip} swarm join-token -q worker)" ] } 

上述命令的输出:

 aws_instance.swarm-node.1 (remote-exec): Usage: docker swarm join-token [-q] [--rotate] (worker|manager) aws_instance.swarm-node.1 (remote-exec): Manage join tokens aws_instance.swarm-node.1 (remote-exec): JOIN-TOKEN: aws_instance.swarm-node.1 (remote-exec): =================================== aws_instance.swarm-node.1 (remote-exec): =================================== aws_instance.swarm-node.1 (remote-exec): =================================== aws_instance.swarm-node.1 (remote-exec): =================================== aws_instance.swarm-node.1 (remote-exec): =================================== aws_instance.swarm-node.1 (remote-exec): Cannot connect to the Docker daemon. Is the docker daemon running on this host? aws_instance.swarm-node.1 (remote-exec): flag needs an argument: --token 

我该怎么做才能使$(docker -H ${aws_instance.swarm-manager.0.private_ip}返回一个令牌。

首先,第四行代码不完整; 您必须指定要打印的标记[worker | manager]

请确保docker守护进程在pipe理器和工作者实例上运行。 而且你的防火墙规则也适用于两个实例。