访问 docker swarm 的所有实例
access all instances of docker swarm
我们开始实施 docker swarm 或我们应用程序的某些部分。其中一个部分是 Web 套接字服务器,它允许我们将 "live" 内容推送给特定用户。
我的问题是 - 如果我想对特定容器进行休息调用,而不是覆盖网络上的负载平衡 - 这可能吗?如果是这样,我将如何去做?
谢谢
本
如果我正确理解了您的用例,以下示例可能会帮助您入门。
给定覆盖网络和具有多个副本的服务:
docker network create --driver overlay --attachable nginx
docker service create --name nginx --network nginx --replicas 3 nginx:alpine
您可以 运行 一个连接到 nginx 网络的容器:
docker run --rm -it --network nginx alpine:edge ash
在该容器中,您可以找到服务的所有任务,如下所示:
apk add -U drill
drill tasks.nginx
响应应包含与此类似的内容:
...
;; ANSWER SECTION:
tasks.nginx. 600 IN A 10.0.1.3
tasks.nginx. 600 IN A 10.0.1.4
tasks.nginx. 600 IN A 10.0.1.5
...
不过,您并不真的需要可连接网络和单个容器。或者,您也可以在同一网络中创建另一个服务,如 nginx,并让该服务执行 tasks.<service-name>
查找以执行所需的操作。
我们开始实施 docker swarm 或我们应用程序的某些部分。其中一个部分是 Web 套接字服务器,它允许我们将 "live" 内容推送给特定用户。
我的问题是 - 如果我想对特定容器进行休息调用,而不是覆盖网络上的负载平衡 - 这可能吗?如果是这样,我将如何去做?
谢谢
本
如果我正确理解了您的用例,以下示例可能会帮助您入门。
给定覆盖网络和具有多个副本的服务:
docker network create --driver overlay --attachable nginx
docker service create --name nginx --network nginx --replicas 3 nginx:alpine
您可以 运行 一个连接到 nginx 网络的容器:
docker run --rm -it --network nginx alpine:edge ash
在该容器中,您可以找到服务的所有任务,如下所示:
apk add -U drill
drill tasks.nginx
响应应包含与此类似的内容:
...
;; ANSWER SECTION:
tasks.nginx. 600 IN A 10.0.1.3
tasks.nginx. 600 IN A 10.0.1.4
tasks.nginx. 600 IN A 10.0.1.5
...
不过,您并不真的需要可连接网络和单个容器。或者,您也可以在同一网络中创建另一个服务,如 nginx,并让该服务执行 tasks.<service-name>
查找以执行所需的操作。