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理器和工作者实例上运行。 而且你的防火墙规则也适用于两个实例。