Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/docker/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Curl 无法从远程主机卷曲docker swarm_Curl_Docker_Amazon Ec2_Docker Swarm - Fatal编程技术网

Curl 无法从远程主机卷曲docker swarm

Curl 无法从远程主机卷曲docker swarm,curl,docker,amazon-ec2,docker-swarm,Curl,Docker,Amazon Ec2,Docker Swarm,我试图测试如何使用docker API与docker swarm交互。我在AWS中有一个运行docker的ec2实例。我需要使用curl从本地机器连接到它,然后初始化swarm并获取连接令牌,然后使用它将另外两个ec2实例连接到swarm。我只需要使用curl来完成所有这些 我通过ssh连接到实例并运行以下命令手动创建了swarm: docker swarm init --advertise-addr 10.0.0.2 然后我试着运行这个curl命令: curl 10.0.0.2:2377/s

我试图测试如何使用docker API与docker swarm交互。我在AWS中有一个运行docker的ec2实例。我需要使用curl从本地机器连接到它,然后初始化swarm并获取连接令牌,然后使用它将另外两个ec2实例连接到swarm。我只需要使用curl来完成所有这些

我通过ssh连接到实例并运行以下命令手动创建了swarm:

docker swarm init --advertise-addr 10.0.0.2
然后我试着运行这个curl命令:

curl 10.0.0.2:2377/swarm
curl 10.0.0.2:2377/info
我得到一条空线。如果我尝试将端口更改为2376,则会出现连接被拒绝错误

我错过了什么

运行netstat-tuplen时,发现以下结果:


要从注释中找出答案:默认情况下,访问远程API必须使用。您可以将其关闭,但不建议将其用于生产应用程序。可能有一种方法可以编写授权插件,允许其他形式的身份验证访问。

将-i添加到curl并显示它
curl-i……
相同的结果没有什么像一个明显的问题那样返回backseem,但是您在Swarm上运行的是什么服务?你启动它时暴露了端口吗?@ManoMarks谢谢你的评论!我现在没有运行任何服务,我需要连接swarm manager本身,而不是服务。如果我错了,请更正,但我不认为管理器的端口需要额外的设置才能公开,对吗?很抱歉,我错过了编写API的部分。您正在尝试使用远程api。因此,默认情况下,它要求您使用https进行连接,而https需要证书。更多信息:您是在安全模式下启动的吗?