DNS Swarm 代理无法在 Azure 上运行
DNS Swarm agent not working on Azure
1- 我在 azure 中创建了一个新的容器服务。
2 - 按照门户一步一步创建。
3 - 我没有更改任何服务、虚拟机、平衡、主控和代理的任何配置。
4 - 我可以正常连接 PuTTY。
5 - 我可以通过将端口 80 重定向到端口 80 来打开隧道。
按照这个tutorial,我可以把容器放到运行::
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
ffe6a1c890e4 yeasy/simple-web "/bin/sh -c 'pytho..." 31 minutes ago Up 31 minutes 0.0.0.0:80->80/tcp vibrant_morse
如果我从浏览器访问本地主机,我可以到达容器的端口 80 并看到与教程相同的 "Real Visit Results" 页面。
但是在 tutorial
中它说如果我使用负载均衡器的 DNS 我应该看到结果,这是我的问题,我无法通过 DNS 访问容器,我只能得到 timeout
。
加固,我创建了一个容器服务,没有更改任何配置,只是用PuTTY进入,把容器放到运行。
根据你的描述,好像是you don't set your DOCKER_HOST environment variable to the local port configured for the tunnel。当你 ssh 到你的主虚拟机时,你需要执行下面的命令:
export DOCKER_HOST=:2375
运行 Docker 命令隧道到 Docker Swarm 集群。例如:
docker info
如果你没有在隧道上设置环境变量,docker contanier 是在 master VM 上创建的,所以你无法使用代理 Public IP 获取 Web。
另外,您不能设置环境变量,但在执行docker命令时需要指向主机。更多信息请参考这个link
1- 我在 azure 中创建了一个新的容器服务。
2 - 按照门户一步一步创建。
3 - 我没有更改任何服务、虚拟机、平衡、主控和代理的任何配置。
4 - 我可以正常连接 PuTTY。
5 - 我可以通过将端口 80 重定向到端口 80 来打开隧道。
按照这个tutorial,我可以把容器放到运行::
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
ffe6a1c890e4 yeasy/simple-web "/bin/sh -c 'pytho..." 31 minutes ago Up 31 minutes 0.0.0.0:80->80/tcp vibrant_morse
如果我从浏览器访问本地主机,我可以到达容器的端口 80 并看到与教程相同的 "Real Visit Results" 页面。
但是在 tutorial
中它说如果我使用负载均衡器的 DNS 我应该看到结果,这是我的问题,我无法通过 DNS 访问容器,我只能得到 timeout
。
加固,我创建了一个容器服务,没有更改任何配置,只是用PuTTY进入,把容器放到运行。
根据你的描述,好像是you don't set your DOCKER_HOST environment variable to the local port configured for the tunnel。当你 ssh 到你的主虚拟机时,你需要执行下面的命令:
export DOCKER_HOST=:2375
运行 Docker 命令隧道到 Docker Swarm 集群。例如:
docker info
如果你没有在隧道上设置环境变量,docker contanier 是在 master VM 上创建的,所以你无法使用代理 Public IP 获取 Web。
另外,您不能设置环境变量,但在执行docker命令时需要指向主机。更多信息请参考这个link