How to load balance containers?

Alok Kumar Singh picture Alok Kumar Singh · Feb 4, 2015 · Viewed 8k times · Source

How to load balance docker containers running a simple web application?

I have 3 web containers running in a single host. How do I load balance my web containers?

Answer

Michael picture Michael · Feb 4, 2015

Put a load balancer, such as haproxy or nginx can even do the job.

Decent Haproxy Documentation

Nginx Howto

Either way, put the load balancer on the host or on a different server that can access the exposed ports on the containers. Nginx will probably be simpler for your needs.

To setup basic nginx load balancing:

http {
upstream myapp1 {
    server CONTAINER_APP0_IP:PORT;
    server CONTAINER_APP1_IP:PORT;
    server CONTAINER_APP2_IP:PORT;
}
server {
    listen 80;
    location / {
        proxy_pass http://myapp1;
    }
}
}