diff --git a/Dockerfile b/Dockerfile index 1a13d20..a484328 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,4 +1,6 @@ -FROM haproxy:2.2-alpine +FROM haproxy:lts-alpine + +USER root EXPOSE 2375 ENV ALLOW_RESTARTS=0 \ @@ -28,4 +30,10 @@ ENV ALLOW_RESTARTS=0 \ TASKS=0 \ VERSION=1 \ VOLUMES=0 + +COPY docker-entrypoint.sh /docker-entrypoint.sh +ENTRYPOINT [ "/docker-entrypoint.sh" ] + COPY haproxy.cfg /usr/local/etc/haproxy/haproxy.cfg + +CMD ["haproxy", "-f", "/usr/local/etc/haproxy/haproxy.cfg"] diff --git a/docker-entrypoint.sh b/docker-entrypoint.sh new file mode 100755 index 0000000..11d6c35 --- /dev/null +++ b/docker-entrypoint.sh @@ -0,0 +1,10 @@ +#!/bin/sh + +set -e + +# Create a group with the same gid as the docker socket +export DOCKER_GID=$(stat -c "%g" $SOCKET_PATH) +addgroup -g $DOCKER_GID docker + +# Run the original entrypoint - Our work here is done. +exec /usr/local/bin/docker-entrypoint.sh $@ diff --git a/haproxy.cfg b/haproxy.cfg index 011137e..fd37c73 100644 --- a/haproxy.cfg +++ b/haproxy.cfg @@ -4,6 +4,9 @@ global pidfile /run/haproxy.pid maxconn 4000 + user haproxy + group docker + # Turn on stats unix socket server-state-file /var/lib/haproxy/server-state