Test of fluentd ARM docker builds on Docker Hub.
245
Dockerfile linksv0.12.43, v0.12
(v0.12/alpine/Dockerfile)v0.12.43-onbuild, v0.12-onbuild
(v0.12/alpine-onbuild/Dockerfile)v0.12.43-debian, v0.12-debian
(v0.12/debian/Dockerfile)v0.12.43-debian-onbuild, v0.12-debian-onbuild
debian-onbuild
(v0.12/debian-onbuild/Dockerfile)v1.2.2, v1.2, edge, stable, latest
(v1.2/alpine/Dockerfile)v1.2.2-onbuild, v1.2-onbuild, edge-onbuild, stable-onbuild, onbuild
(v1.2/alpine-onbuild/Dockerfile)v1.2.2-debian, v1.2-debian, edge-debian, stable-debian, debian
(v1.2/debian/Dockerfile)v1.2.2-debian-onbuild, v1.2-debian-onbuild, edge-debian-onbuild, v1.1-debian-onbuild, stable-debian-onbuild,
(v1.2/debian-onbuild/Dockerfile)We recommend to use debian version for production because it uses jemalloc to mitigate memory fragmentation issue.
v1.2 is for fluentd v1.2.x releases. This is current stable version.. v0.12 is for fluentd v0.12.x releases. This is old stable.
v1.x is built on top of v0.14 so we stop v0.14 update. If you use v0.14 image before, use v1.x image instead.
You can use older versions via tag. See tag page on Docker Hub.
Check fluentd-kubernetes-daemonset images.
Fluentd is an open source data collector, which lets you unify the data collection and consumption for a better use and understanding of data.

To create endpoint that collectc logs on your host just run:
docker run -d -p 24224:24224 -p 24224:24224/udp -v /data:/fluentd/log fluent/fluentd
Default configurations are to:
24224 for Fluentd forward protocoldocker.** into /fluentd/log/docker.*.log
(and symlink docker.log)/fluentd/log/data.*.log (and symlink data.log)Environment variable below are configurable to control how to execute fluentd process:
FLUENTD_CONFThis variable allows you to specify configuration file name that will be used
in -c Fluentd command line option.
If you want to use your own configuration file (without any optional plugins),
you can do it with this environment variable and Docker volumes (-v option
of docker run).
yours.conf.docker run with -v /path/to/dir:/fluentd/etc
to share /path/to/dir/yours.conf in container,
and -e FLUENTD_CONF=yours.conf to read it.FLUENTD_OPTUse this variable to specify other Fluentd command line options,
like -v or -q.
FLUENT_UIDUse this variable to specify user id of fluent user.
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.
Since v0.12.26, tags are separated into vX.Y.Z and vX.Y.Z-onbuild.
stable, latestLatest version of stable Fluentd branch (currently v1.0).
edgeLatest version of edge Fluentd branch (currently v1.0).
vX.YLatest version of vX.Y Fluentd branch.
vX.Y.ZConcrete vX.Y.Z version of Fluentd.
onbuild, xxx-onbuildThis image makes building derivative images easier. See "How to build your own image" section for more details.
debianThe image based on Debian Linux image.
You may use this image when you require plugins which cannot be installed
on Alpine (like fluent-plugin-systemd).
armhfThe armhf images use ARM base images for use on devices such as Raspberry Pis.
Furthermore, the base images enable support for cross-platform builds using the cross-build tools from resin.io.
In order to build these images natively on ARM devices, the CROSS_BUILD_START and CROSS_BUILD_END Docker build arguments must be set to the shell no-op (:), for example:
docker build --build-arg CROSS_BUILD_START=":" --build-arg CROSS_BUILD_END=":" -t fluent/fluentd:v1.2.2-onbuild v1.2/armhf/alpine-onbuild
(assuming the command is run from the root of this repository).
You can build a customized image based on Fluentd's onbuild image.
Customized image can include plugins and fluent.conf file.
We will use this directory to build a Docker image. Type following commands on a terminal to prepare a minimal project first:
# Create project directory.
mkdir custom-fluentd
cd custom-fluentd
# Download default fluent.conf. This file will be copied to the new image.
# VERSION is v0.12 or v0.14 like fluentd version and OS is alpine or debian.
# Full example is https://raw.githubusercontent.com/fluent/fluentd-docker-image/master/v0.12/debian-onbuild/fluent.conf
curl https://raw.githubusercontent.com/fluent/fluentd-docker-image/master/VERSION/OS-onbuild/fluent.conf > fluent.conf
# Create plugins directory. plugins scripts put here will be copied to the new image.
mkdir plugins
# Download sample Dockerfile. If you use v0.14.15/v0.12.34 or earlier image, use Dockerfile.sample.old
curl https://raw.githubusercontent.com/fluent/fluentd-docker-image/master/Dockerfile.sample > Dockerfile
fluent.confDocumentation of fluent.conf is available at docs.fluentd.org.
You can install Fluentd plugins using Dockerfile.
Sample Dockerfile installs fluent-plugin-elasticsearch.
To add plugins, edit Dockerfile as following:
# or v1.0-onbuild
FROM fluent/fluentd:v0.12-onbuild
# below RUN includes plugin as examples elasticsearch is not required
# you may customize including plugins as you wish
RUN apk add --update --virtual .build-deps \
sudo build-base ruby-dev \
&& sudo gem install \
fluent-plugin-elasticsearch \
&& sudo gem sources --clear-all \
&& apk del .build-deps \
&& rm -rf /var/cache/apk/* \
/home/fluent/.gem/ruby/2.4.0/cache/*.gem
# or v1.0-debian-onbuild
FROM fluent/fluentd:v0.12-debian-onbuild
# below RUN includes plugin as examples elasticsearch is not required
# you may customize including plugins as you wish
RUN buildDeps="sudo make gcc g++ libc-dev ruby-dev" \
&& apt-get update \
&& apt-get install -y --no-install-recommends $buildDeps \
&& sudo gem install \
fluent-plugin-elasticsearch \
&& sudo gem sources --clear-all \
&& SUDO_FORCE_REMOVE=yes \
apt-get purge -y --auto-remove \
-o APT::AutoRemove::RecommendsImportant=false \
$buildDeps \
&& rm -rf /var/lib/apt/lists/* \
/home/fluent/.gem/ruby/2.3.0/cache/*.gem
These example run apk add/apt-get install to be able to install
Fluentd plugins which require native extensions (they are removed immediately
after plugin installation).
If you're sure that plugins don't include native extensions, you can omit it
to make image build faster.
Use docker build command to build the image.
This example names the image as custom-fluentd:latest:
docker build -t custom-fluentd:latest ./
Once the image is built, it's ready to run.
Following commands run Fluentd sharing ./log directory with the host machine:
mkdir -p log
docker run -it --rm --name custom-docker-fluent-logger -v $(pwd)/log:/fluentd/log custom-fluentd:latest
Open another terminal and type following command to inspect IP address. Fluentd is running on this IP address:
docker inspect -f '{{.NetworkSettings.IPAddress}}' custom-docker-fluent-logger
Let's try to use another docker container to send its logs to Fluentd.
docker run --log-driver=fluentd --log-opt tag="docker.{{.ID}}" --log-opt fluentd-address=FLUENTD.ADD.RE.SS:24224 python:alpine echo Hello
# and force flush buffered logs
docker kill -s USR1 custom-docker-fluent-logger
(replace FLUENTD.ADD.RE.SS with actual IP address you inspected at
the previous step)
You will see some logs sent to Fluentd.
Fluentd logging driver - Docker Docs
We can't notice comments in the DockerHub so don't use them for reporting issue or asking question.
If you have any problems with or questions about this image, please contact us through a GitHub issue.
Content type
Image
Digest
Size
53.5 MB
Last updated
over 8 years ago
docker pull elezar/fluentd-docker-image:debian-armhf-onbuild