0

我们开始实现 docker swarm 或我们应用程序的某些部分。其中一个部分是 Web 套接字服务器,它允许我们将“实时”内容推送给特定用户。

我的问题是——如果我想对特定容器进行休息调用,而不是覆盖网络上的负载平衡容器——这可能吗?如果是这样,我将如何去做?

谢谢

4

1 回答 1

1

如果我正确理解了您的用例,以下示例可能会帮助您入门。

给定一个覆盖网络和一个具有多个副本的服务:

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>查找以执行所需的操作。

于 2017-09-19T21:17:40.927 回答