Docker 来自外部机器的远程 Api 没有响应

Docker Remote Api from external machine doesn't respond

我想这样做:

curl --insecure --cert cert.pem --key key.pem https://192.168.30.53:2376/images/json

我在具有虚拟网络 (NAT) 的服务器上有 2 个虚拟机:

mh-keystore 192.168.2.103 -> 192.168.30.52
swarm-master 192.168.2.100 -> 192.168.30.53

本地 NAT ip 链接到外部 ip。 我可以通过 SSH 访问机器。

docker-machine 安装在 mh-keystore 上。 我使用通用驱动程序将 docker 部署到 swarm-master

当我从 docker 机器主机 (mh-keystore) 调用 api 时,它起作用了:

$curl --insecure --cert .docker/machine/certs/cert.pem --key .docker/machine/certs/key.pem https://192.168.2.100:2376/images/json

[{"Id":"6b40fe7724bd29107f6182ca2befec011cdf524b23ebc4c9a33591d6b7aea4ee","ParentId":"2b4c55187a27a43f6c5aebab707e75cffee14f7c3cc02e4f74429992bd5f7db2","RepoTags":["swarm:latest"],"RepoDigests":[],"Created":1446581252,"Size":0,"VirtualSize":15602184,"Labels":null},{"Id":"ded5e192a685b2c5f048ea98ca24f4c8c4dccc012185448a0247b49b24645007","ParentId":"8f17e9411cf6e7467e630b369a0216b582a8a811901befc800de41537bde1f04","RepoTags":["docker/whalesay:latest"],"RepoDigests":[],"Created":1432591463,"Size":0,"VirtualSize":247049019,"Labels":{}}]

所以我想从我自己的电脑上调用它。

    curl --insecure --cert cert.pem --key key.pem https://192.168.30.53:2376/images/json
curl --insecure --cert cert.pem --key key.pem https://192.168.30.52:2376/images/json

Curl 没有响应。

密钥和证书是mh-keystore 的副本。 (不知道是不是好办法)

怎么了?

谢谢

问题出在我学校的防火墙上,我使用 iptables 绕过它以使用 8080 端口:

iptables -t nat -A DOCKER ! -i docker0 -p tcp -m tcp --dport 8080 -j DNAT --to-destination 172.17.0.2:3376