HAProxy compiled against newer/faster libraries (PCRE w/ JIT, SLZ).
This haproxy docker image uses statically-linked modern libraries where possible. Otherwise, it attempts to follow the official docker image as closely as possible. Substitute the image name where needed, as in the example below.
For a complete list of docker tags you can use, see: https://hub.docker.com/r/aasmith/haproxy/tags/
1.6 | 1.7 | 1.8 | lua | lua-1.6 | lua-1.7 |
---|
Example Dockerfile
:
FROM aasmith/haproxy
COPY haproxy.cfg /usr/local/etc/haproxy/haproxy.cfg
To pin to a specific version, use the branch or tag:
FROM aasmith/haproxy:1.8 # stay on the latest the 1.8 line
FROM aasmith/haproxy:1.8.0 # use exactly 1.8.0
A lua version is also available on the lua
branch:
FROM aasmith/haproxy:lua # latest lua
FROM aasmith/haproxy:lua-1.6.10
The lua version also includes the luarocks package manager.
For more information about using these images, see the offical docker image instructions at https://github.com/docker-library/docs/tree/master/haproxy#how-to-use-this-image.
Enables PCRE JIT compilation for faster regular expression parsing. The PCRE Peformance Project has more information on benchmarks, etc.
Compilation follows as close as possible to the debian package, excluding C++ support and dynamic linking.
Created by the HAProxy maintainer, SLZ is a stream compressor for producing gzip-compatible output. It has lower memory usage, no dictionary persistence, and runs about 3x faster than zlib.
See the Stateless Zip project for background, benchmarks, etc.
Output from haproxy -vv
:
HA-Proxy version 1.8.1 2017/12/03
Copyright 2000-2017 Willy Tarreau <willy@haproxy.org>
Build options :
TARGET = linux2628
CPU = generic
CC = gcc
CFLAGS = -O2 -g -fno-strict-aliasing -Wdeclaration-after-statement -fwrapv -Wno-null-dereference -Wno-unused-label
OPTIONS = USE_SLZ=1 USE_OPENSSL=1 USE_STATIC_PCRE2=1 USE_PCRE2_JIT=1
Default settings :
maxconn = 2000, bufsize = 16384, maxrewrite = 1024, maxpollevents = 200
Built with OpenSSL version : OpenSSL 1.1.0g 2 Nov 2017
Running on OpenSSL version : OpenSSL 1.1.0g 2 Nov 2017
OpenSSL library supports TLS extensions : yes
OpenSSL library supports SNI : yes
OpenSSL library supports : TLSv1.0 TLSv1.1 TLSv1.2
Built with transparent proxy support using: IP_TRANSPARENT IPV6_TRANSPARENT IP_FREEBIND
Encrypted password support via crypt(3): yes
Built with multi-threading support.
Built with PCRE2 version : 10.30 2017-08-14
PCRE2 library supports JIT : yes
Built with libslz for stateless compression.
Compression algorithms supported : identity("identity"), deflate("deflate"), raw-deflate("deflate"), gzip("gzip")
Built with network namespace support.
Available polling systems :
epoll : pref=300, test result OK
poll : pref=200, test result OK
select : pref=150, test result OK
Total: 3 (3 usable), will use epoll.
Available filters :
[SPOE] spoe
[COMP] compression
[TRACE] trace