Official fluentd image is used as a base image plus GELF output plugin is included. It uses TCP connection to Graylog2 server by default, so that log entries should not be lost due to network outages.
It is based on ideas/code from
Fluentd is an open source data collector, which lets you unify the data collection and consumption for a better use and understanding of data.
This image is based on the popular Alpine Linux project, available in the alpine official image. Alpine Linux is much smaller than most distribution base images (~5MB), and thus leads to much slimmer images in general.
Based on the provided Dockerfile you can build and customize the docker image.
docker build -t qiiq/fluentd-gelf .
First run fluentd container
docker run --name fluentd -p 127.0.0.1:24224:24224 -p 127.0.0.1:24224:24224/udp -e GRAYLOG2_HOST=graylog.host -e GRAYLOG2_PORT=12201 qiiq/fluentd-gelf
Then you can start other containers with fluentd log driver:
docker run -d --log-driver=fluentd --log-opt fluentd-address=127.0.0.1:24224 --log-opt fluentd-async-connect=true alpine sh