Pound load balancer Docker image
Docker image for Pound.
This image is generic, thus you can obviously re-use it within
your non-related EEA projects.
Supported tags and respective Dockerfile links
Base docker image
- Install Docker Please note: version must not be 1.8.x due to docker issue #16619
- Install Docker Compose.
Run with Docker Compose
Using Docker-Compose is the quickest way to start a container and connect the
available webapps through the 'links' parameter.
Here is a basic example of a
docker-compose.yml file using the
pound: image: eeacms/pound ports: - "80:80" env_file: - pound.env links: - webapp webapp: image: razvan3895/nodeserver
The application can be scaled to use more server instances, with
$ docker-compose scale webapp=4 pound=1
Run with backends specified as environment variable
$ docker run --env BACKENDS="192.168.1.5:80 192.168.1.6:80" eeacms/pound:latest
The servers are written as
server_ip:server_listening_port, separated by spaces
(and enclosed in quotes, to avoid issues). The contents of the variable are
evaluated in a bash script that writes the Pound configuration file automatically.
Use a custom configuration file mounted as a volume
It is mandatory that the configuration file is mounted at /etc/pound/config.cfg
$ docker run -v conf.d/pound.cfg:/etc/pound/config.cfg eeacms/pound:latest
This is the preferred way to start a container because the configuration file
can be modified locally at any time. In order for the modifications to be applied,
the configuration has to be reloaded, which can be done by running:
$ docker exec <name-of-your-container> reload
Supported environment variables
As Pound has close to no purpose by itself, this image should be used in
combination with others (for example with Docker Compose)
Pound can be configured by modifying the following env variables,
either when running the container or in a
docker-compose.yml file, preferably
by supplying an
.env file in the appropriate tag.
ALIVESpecify how often Pound will check for resurected back-end hosts -
CLIENTSpecify for how long Pound will wait for a client request -
TIMEOUTHow long should Pound wait for a response from the back-end -
BACKENDSThe servers are written as
server_ip:server_listening_port, separated by spaces (and enclosed in quotes, to avoid issues)
Copyright and license
The Initial Owner of the Original Code is European Environment Agency (EEA).
All Rights Reserved.
The Original Code is free software;
you can redistribute it and/or modify it under the terms of the GNU
General Public License as published by the Free Software Foundation;
either version 2 of the License, or (at your option) any later