Public | Automated Build

Last pushed: 8 days ago
Short Description
HAProxy compiled against newer/faster libraries (PCRE w/ JIT, SLZ, and LibreSSL).
Full Description

aasmith/docker-haproxy

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.

Available Versions

For a complete list of docker tags you can use, see: https://hub.docker.com/r/aasmith/haproxy/tags/

Branches

1.6 1.7 1.8 lua lua-1.6 lua-1.7

Usage

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

Lua

A lua version is also available on the lua branch:

FROM aasmith/haproxy:lua # latest lua
FROM aasmith/haproxy:lua-1.6.8

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.

Libraries

PCRE

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.

Stateless Zip (SLZ)

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.

Compilation Details

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
Docker Pull Command
Owner
aasmith
Source Repository