Docker Compose文件配置swarm负载均衡的访问地址 怎么指定对外的ip和端口
时间: 2024-02-19 13:04:01 浏览: 131
基于Docker Compose和Swarm的Docker化之路
要在Docker Compose文件中配置Swarm负载均衡的访问地址,可以使用`deploy`部分的`endpoint_mode`和`ports`字段来指定对外的IP和端口。
下面是一个简单的Docker Compose文件示例,它定义了一个服务`web`,并将其部署到Swarm集群中。在`deploy`部分,我们使用`endpoint_mode: vip`来指定使用虚拟IP地址来负载均衡服务的访问。同时,我们使用`ports`字段来将服务的80端口映射到Swarm集群的节点的30000端口上,这样外部用户就可以通过Swarm集群的任意一个节点的IP地址和30000端口来访问服务了。
```
version: "3"
services:
web:
image: my-web-app:latest
deploy:
replicas: 3
endpoint_mode: vip
ports:
- target: 80
published: 30000
protocol: tcp
mode: ingress
```
需要注意的是,为了能够正确地将服务的流量路由到Swarm集群中的节点,需要在Swarm集群的任意一个节点上启动一个反向代理,如Traefik或Nginx,并将其配置为监听30000端口,并将流量转发到服务的虚拟IP地址上。这样,外部用户才能够通过Swarm集群的任意一个节点的IP地址和30000端口来访问服务。
阅读全文