我们开始实现 docker swarm 或我们应用程序的某些部分。其中一个部分是 Web 套接字服务器,它允许我们将“实时”内容推送给特定用户。
我的问题是——如果我想对特定容器进行休息调用,而不是覆盖网络上的负载平衡容器——这可能吗?如果是这样,我将如何去做?
谢谢
本
如果我正确理解了您的用例,以下示例可能会帮助您入门。
给定一个覆盖网络和一个具有多个副本的服务:
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>
查找以执行所需的操作。