pgbouncer is a popular, small connection pooler for Postgresql. This is yet another docker image with pgbouncer, based on alpine.
You can configure it by Environment variables:
$ docker run -d \
--name=pgbouncer \
-e DB_HOST=postgresql.example.com \
-e DB_USER=admin \
-e DB_PASSWORD=mypassword \
brainsam/pgbouncer:latest
Or You can mount config file into docker container:
$ docker run -d \
--name pgbouncer \
-v pgbouncer-config-file:/etc/pgbouncer/pgbouncer.ini \
brainsam/pgbouncer:latest
A simple makefile is provided which can be used to build and push an image.. just note this is a MANUAL process right now..there is NO automation. The details of the registry/tagging are captured in that file. The one thing to note is that versioning is manual, so to push a new version, the version file must have its contents updated in a text editor. :-(.
To build:
make build
To publish:
make push
If this container starts changing a lot, we will automate all of this stuff.
$ docker pull 827541288795.dkr.ecr.us-east-1.amazonaws.com/pgbouncer:0.0.1
All configuration parameters of pgbouncer are available both by --env (use the same keys in upper case) and by mounting pgbouncer.ini into container.
docker logs <your-pgbouncer-container-name>