docker如何在不使用docker sworm的情况下使用scale flag在容器之间进行负载均衡

问题描述 投票:0回答:0

我用两个服务配置了一个 docker compose 文件:1 个节点 js 应用程序和 1 个 nginx 作为反向代理。我使用 docker compose scale 标志来缩放 (3) 节点容器。

一些 docker 如何对 3 个节点容器之间的流量进行负载平衡,但我无法理解如何在文档中找到它。你能帮我理解一下吗? 注意:我没有使用 docker swarm。

这是我在nginx中使用的配置

worker_processes auto;
events {
    worker_connections 1024;
}
http {
    upstream all {
        server demo:80;
    }
    server {
        listen 80;
        location / {
            proxy_pass http://all;
            proxy_http_version 1.1;
            proxy_cache_bypass $http_upgrade;
            proxy_set_header Upgrade $http_upgrade;
            proxy_set_header Connection keep-alive;
            proxy_set_header Host $host;
        } 
    }
} 

这就是我的 docker ps -a 的样子

 
CONTAINER ID   IMAGE      COMMAND                  CREATED        STATUS        PORTS                                     NAMES
c6530cb5e017   demo-app   "docker-entrypoint.s…"   13 hours ago   Up 13 hours   0.0.0.0:49162->80/tcp, :::49162->80/tcp   poc_demo_2
48b410882a89   demo-app   "docker-entrypoint.s…"   13 hours ago   Up 13 hours   0.0.0.0:49161->80/tcp, :::49161->80/tcp   poc_demo_3
858feb84c60b   demo-app   "docker-entrypoint.s…"   13 hours ago   Up 13 hours   0.0.0.0:49160->80/tcp, :::49160->80/tcp   poc_demo_1
1a72a78ba820   nginx      "nginx -g 'daemon of…"   13 hours ago   Up 13 hours   0.0.0.0:80->80/tcp, :::80->80/tcp         poc_nginx_1

我尝试调用节点端点,每次响应都来自不同的容器,我想了解它是如何发生的?

docker nginx docker-compose load-balancing scale
© www.soinside.com 2019 - 2024. All rights reserved.