Created
August 2, 2021 14:54
-
-
Save haproxytechblog/d780483e153fd2d84f54719c94133992 to your computer and use it in GitHub Desktop.
How to Run HAProxy with Docker
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
$ sudo docker network create --driver=bridge mynetwork |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
$ sudo docker run -d \ | |
--name web1 --net mynetwork jmalloc/echo-server:latest | |
$ sudo docker run -d \ | |
--name web2 --net mynetwork jmalloc/echo-server:latest | |
$ sudo docker run -d \ | |
--name web3 --net mynetwork jmalloc/echo-server:latest |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
$ sudo docker ps | |
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES | |
98216bb8c5ff jmalloc/echo-server:latest "/bin/echo-server" About a minute ago Up About a minute 8080/tcp web3 | |
ae6accc111d9 jmalloc/echo-server:latest "/bin/echo-server" About a minute ago Up About a minute 8080/tcp web2 | |
554fafbc2b3b jmalloc/echo-server:latest "/bin/echo-server" About a minute ago Up About a minute 8080/tcp web1 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
global | |
stats socket /var/run/api.sock user haproxy group haproxy mode 660 level admin expose-fd listeners | |
log stdout format raw local0 info | |
defaults | |
mode http | |
timeout client 10s | |
timeout connect 5s | |
timeout server 10s | |
timeout http-request 10s | |
log global | |
frontend stats | |
bind *:8404 | |
stats enable | |
stats uri / | |
stats refresh 10s | |
frontend myfrontend | |
bind :80 | |
default_backend webservers | |
backend webservers | |
server s1 web1:8080 check | |
server s2 web2:8080 check | |
server s3 web3:8080 check |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
$ sudo docker run -d \ | |
--name haproxy \ | |
--net mynetwork \ | |
-v $(pwd):/usr/local/etc/haproxy:ro \ | |
-p 80:80 \ | |
-p 8404:8404 \ | |
haproxytech/haproxy-alpine:2.4 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
$ sudo docker ps | |
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES | |
d734d0ef2635 haproxytech/haproxy-alpine:2.4 "/docker-entrypoint.…" 3 seconds ago Up 2 seconds 0.0.0.0:80->80/tcp, 0.0.0.0:8404->8404/tcp haproxy |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
$ sudo docker kill -s HUP haproxy |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
$ sudo docker stop web1 && sudo docker rm web1 | |
$ sudo docker stop web2 && sudo docker rm web2 | |
$ sudo docker stop web3 && sudo docker rm web3 | |
$ sudo docker stop haproxy && sudo docker rm haproxy | |
$ sudo docker network rm mynetwork |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment