-
Notifications
You must be signed in to change notification settings - Fork 2.5k
Create a new official image for fluentd #3724
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
|
I think tags and aliases here should probably match what are currently on https://hub.docker.com/r/fluent/fluentd/, and should match the upstream-supported versions (versions which will get an actual version bump if there's a problem discovered). Regarding Diff:diff --git a/_bashbrew-arches b/_bashbrew-arches
index e69de29..0086489 100644
--- a/_bashbrew-arches
+++ b/_bashbrew-arches
@@ -0,0 +1,8 @@
+fluentd:latest @ amd64
+fluentd:v0.12-alpine @ amd64
+fluentd:v0.12-alpine-onbuild @ amd64
+fluentd:v0.12-debian @ amd64
+fluentd:v0.12-debian-onbuild @ amd64
+fluentd:v0.14-alpine-onbuild @ amd64
+fluentd:v0.14-debian @ amd64
+fluentd:v0.14-debian-onbuild @ amd64
diff --git a/_bashbrew-list b/_bashbrew-list
index e69de29..0ceb059 100644
--- a/_bashbrew-list
+++ b/_bashbrew-list
@@ -0,0 +1,9 @@
+fluentd:latest
+fluentd:v0.12-alpine
+fluentd:v0.12-alpine-onbuild
+fluentd:v0.12-debian
+fluentd:v0.12-debian-onbuild
+fluentd:v0.14-alpine
+fluentd:v0.14-alpine-onbuild
+fluentd:v0.14-debian
+fluentd:v0.14-debian-onbuild
diff --git a/fluentd_latest/Dockerfile b/fluentd_latest/Dockerfile
new file mode 100644
index 0000000..2255ce6
--- /dev/null
+++ b/fluentd_latest/Dockerfile
@@ -0,0 +1,56 @@
+# AUTOMATICALLY GENERATED
+# DO NOT EDIT THIS FILE DIRECTLY, USE /Dockerfile.template.erb
+
+FROM alpine:3.5
+LABEL maintainer "TAGOMORI Satoshi <[email protected]>"
+LABEL Description="Fluentd docker image" Vendor="Fluent Organization" Version="1.1"
+
+ENV DUMB_INIT_VERSION=1.2.0
+
+ENV SU_EXEC_VERSION=0.2
+
+ARG DEBIAN_FRONTEND=noninteractive
+
+# Do not split this into multiple RUN!
+# Docker creates a layer for every RUN-Statement
+# therefore an 'apk delete' has no effect
+RUN apk update \
+ && apk upgrade \
+ && apk add --no-cache \
+ ca-certificates \
+ ruby ruby-irb \
+ su-exec==${SU_EXEC_VERSION}-r0 \
+ dumb-init==${DUMB_INIT_VERSION}-r0 \
+ && apk add --no-cache --virtual .build-deps \
+ build-base \
+ ruby-dev wget gnupg \
+ && update-ca-certificates \
+ && echo 'gem: --no-document' >> /etc/gemrc \
+ && gem install oj -v 2.18.3 \
+ && gem install json -v 2.1.0 \
+ && gem install fluentd -v 0.14.23 \
+ && apk del .build-deps \
+ && rm -rf /var/cache/apk/* \
+ && rm -rf /tmp/* /var/tmp/* /usr/lib/ruby/gems/*/cache/*.gem
+
+# for log storage (maybe shared with host)
+RUN mkdir -p /fluentd/log
+# configuration/plugins path (default: copied from .)
+RUN mkdir -p /fluentd/etc /fluentd/plugins
+
+COPY fluent.conf /fluentd/etc/
+COPY entrypoint.sh /bin/
+RUN chmod +x /bin/entrypoint.sh
+
+
+ENV FLUENTD_OPT=""
+ENV FLUENTD_CONF="fluent.conf"
+
+ENV LD_PRELOAD=""
+ENV DUMB_INIT_SETSID 0
+
+EXPOSE 24224 5140
+
+ENTRYPOINT ["/bin/entrypoint.sh"]
+
+CMD exec fluentd -c /fluentd/etc/${FLUENTD_CONF} -p /fluentd/plugins $FLUENTD_OPT
diff --git a/fluentd_latest/entrypoint.sh b/fluentd_latest/entrypoint.sh
new file mode 100644
index 0000000..6515d97
--- /dev/null
+++ b/fluentd_latest/entrypoint.sh
@@ -0,0 +1,18 @@
+#!/usr/bin/dumb-init /bin/sh
+
+uid=${FLUENT_UID:-1000}
+
+# check if a old fluent user exists and delete it
+cat /etc/passwd | grep fluent
+if [ $? -eq 0 ]; then
+ deluser fluent
+fi
+
+# (re)add the fluent user with $FLUENT_UID
+adduser -D -g '' -u ${uid} -h /home/fluent fluent
+
+# chown home and data folder
+chown -R fluent /home/fluent
+chown -R fluent /fluentd
+
+exec su-exec fluent "$@"
diff --git a/fluentd_latest/fluent.conf b/fluentd_latest/fluent.conf
new file mode 100644
index 0000000..24a37b5
--- /dev/null
+++ b/fluentd_latest/fluent.conf
@@ -0,0 +1,33 @@
+<source>
+ @type forward
+ @id input1
+ @label @mainstream
+ port 24224
+</source>
+
+<filter **>
+ @type stdout
+</filter>
+
+<label @mainstream>
+ <match docker.**>
+ @type file
+ @id output_docker1
+ path /fluentd/log/docker.*.log
+ symlink_path /fluentd/log/docker.log
+ append true
+ time_slice_format %Y%m%d
+ time_slice_wait 1m
+ time_format %Y%m%dT%H%M%S%z
+ </match>
+ <match **>
+ @type file
+ @id output1
+ path /fluentd/log/data.*.log
+ symlink_path /fluentd/log/data.log
+ append true
+ time_slice_format %Y%m%d
+ time_slice_wait 10m
+ time_format %Y%m%dT%H%M%S%z
+ </match>
+</label>
diff --git a/fluentd_v0.12-alpine-onbuild/Dockerfile b/fluentd_v0.12-alpine-onbuild/Dockerfile
new file mode 100644
index 0000000..1f60b5d
--- /dev/null
+++ b/fluentd_v0.12-alpine-onbuild/Dockerfile
@@ -0,0 +1,58 @@
+# AUTOMATICALLY GENERATED
+# DO NOT EDIT THIS FILE DIRECTLY, USE /Dockerfile.template.erb
+
+FROM alpine:3.5
+LABEL maintainer "TAGOMORI Satoshi <[email protected]>"
+LABEL Description="Fluentd docker image" Vendor="Fluent Organization" Version="1.1"
+
+ENV DUMB_INIT_VERSION=1.2.0
+
+ENV SU_EXEC_VERSION=0.2
+
+ARG DEBIAN_FRONTEND=noninteractive
+
+# Do not split this into multiple RUN!
+# Docker creates a layer for every RUN-Statement
+# therefore an 'apk delete' has no effect
+RUN apk update \
+ && apk upgrade \
+ && apk add --no-cache \
+ ca-certificates \
+ ruby ruby-irb \
+ su-exec==${SU_EXEC_VERSION}-r0 \
+ dumb-init==${DUMB_INIT_VERSION}-r0 \
+ && apk add --no-cache --virtual .build-deps \
+ build-base \
+ ruby-dev wget gnupg \
+ && update-ca-certificates \
+ && echo 'gem: --no-document' >> /etc/gemrc \
+ && gem install oj -v 2.18.3 \
+ && gem install json -v 2.1.0 \
+ && gem install fluentd -v 0.12.41 \
+ && apk del .build-deps \
+ && rm -rf /var/cache/apk/* \
+ && rm -rf /tmp/* /var/tmp/* /usr/lib/ruby/gems/*/cache/*.gem
+
+# for log storage (maybe shared with host)
+RUN mkdir -p /fluentd/log
+# configuration/plugins path (default: copied from .)
+RUN mkdir -p /fluentd/etc /fluentd/plugins
+
+COPY fluent.conf /fluentd/etc/
+COPY entrypoint.sh /bin/
+RUN chmod +x /bin/entrypoint.sh
+
+ONBUILD COPY fluent.conf /fluentd/etc/
+ONBUILD COPY plugins /fluentd/plugins/
+
+ENV FLUENTD_OPT=""
+ENV FLUENTD_CONF="fluent.conf"
+
+ENV LD_PRELOAD=""
+ENV DUMB_INIT_SETSID 0
+
+EXPOSE 24224 5140
+
+ENTRYPOINT ["/bin/entrypoint.sh"]
+
+CMD exec fluentd -c /fluentd/etc/${FLUENTD_CONF} -p /fluentd/plugins $FLUENTD_OPT
diff --git a/fluentd_v0.12-alpine-onbuild/entrypoint.sh b/fluentd_v0.12-alpine-onbuild/entrypoint.sh
new file mode 100644
index 0000000..6515d97
--- /dev/null
+++ b/fluentd_v0.12-alpine-onbuild/entrypoint.sh
@@ -0,0 +1,18 @@
+#!/usr/bin/dumb-init /bin/sh
+
+uid=${FLUENT_UID:-1000}
+
+# check if a old fluent user exists and delete it
+cat /etc/passwd | grep fluent
+if [ $? -eq 0 ]; then
+ deluser fluent
+fi
+
+# (re)add the fluent user with $FLUENT_UID
+adduser -D -g '' -u ${uid} -h /home/fluent fluent
+
+# chown home and data folder
+chown -R fluent /home/fluent
+chown -R fluent /fluentd
+
+exec su-exec fluent "$@"
diff --git a/fluentd_v0.12-alpine-onbuild/fluent.conf b/fluentd_v0.12-alpine-onbuild/fluent.conf
new file mode 100644
index 0000000..24a37b5
--- /dev/null
+++ b/fluentd_v0.12-alpine-onbuild/fluent.conf
@@ -0,0 +1,33 @@
+<source>
+ @type forward
+ @id input1
+ @label @mainstream
+ port 24224
+</source>
+
+<filter **>
+ @type stdout
+</filter>
+
+<label @mainstream>
+ <match docker.**>
+ @type file
+ @id output_docker1
+ path /fluentd/log/docker.*.log
+ symlink_path /fluentd/log/docker.log
+ append true
+ time_slice_format %Y%m%d
+ time_slice_wait 1m
+ time_format %Y%m%dT%H%M%S%z
+ </match>
+ <match **>
+ @type file
+ @id output1
+ path /fluentd/log/data.*.log
+ symlink_path /fluentd/log/data.log
+ append true
+ time_slice_format %Y%m%d
+ time_slice_wait 10m
+ time_format %Y%m%dT%H%M%S%z
+ </match>
+</label>
diff --git a/fluentd_v0.12-alpine/Dockerfile b/fluentd_v0.12-alpine/Dockerfile
new file mode 100644
index 0000000..9aecc00
--- /dev/null
+++ b/fluentd_v0.12-alpine/Dockerfile
@@ -0,0 +1,56 @@
+# AUTOMATICALLY GENERATED
+# DO NOT EDIT THIS FILE DIRECTLY, USE /Dockerfile.template.erb
+
+FROM alpine:3.5
+LABEL maintainer "TAGOMORI Satoshi <[email protected]>"
+LABEL Description="Fluentd docker image" Vendor="Fluent Organization" Version="1.1"
+
+ENV DUMB_INIT_VERSION=1.2.0
+
+ENV SU_EXEC_VERSION=0.2
+
+ARG DEBIAN_FRONTEND=noninteractive
+
+# Do not split this into multiple RUN!
+# Docker creates a layer for every RUN-Statement
+# therefore an 'apk delete' has no effect
+RUN apk update \
+ && apk upgrade \
+ && apk add --no-cache \
+ ca-certificates \
+ ruby ruby-irb \
+ su-exec==${SU_EXEC_VERSION}-r0 \
+ dumb-init==${DUMB_INIT_VERSION}-r0 \
+ && apk add --no-cache --virtual .build-deps \
+ build-base \
+ ruby-dev wget gnupg \
+ && update-ca-certificates \
+ && echo 'gem: --no-document' >> /etc/gemrc \
+ && gem install oj -v 2.18.3 \
+ && gem install json -v 2.1.0 \
+ && gem install fluentd -v 0.12.41 \
+ && apk del .build-deps \
+ && rm -rf /var/cache/apk/* \
+ && rm -rf /tmp/* /var/tmp/* /usr/lib/ruby/gems/*/cache/*.gem
+
+# for log storage (maybe shared with host)
+RUN mkdir -p /fluentd/log
+# configuration/plugins path (default: copied from .)
+RUN mkdir -p /fluentd/etc /fluentd/plugins
+
+COPY fluent.conf /fluentd/etc/
+COPY entrypoint.sh /bin/
+RUN chmod +x /bin/entrypoint.sh
+
+
+ENV FLUENTD_OPT=""
+ENV FLUENTD_CONF="fluent.conf"
+
+ENV LD_PRELOAD=""
+ENV DUMB_INIT_SETSID 0
+
+EXPOSE 24224 5140
+
+ENTRYPOINT ["/bin/entrypoint.sh"]
+
+CMD exec fluentd -c /fluentd/etc/${FLUENTD_CONF} -p /fluentd/plugins $FLUENTD_OPT
diff --git a/fluentd_v0.12-alpine/entrypoint.sh b/fluentd_v0.12-alpine/entrypoint.sh
new file mode 100644
index 0000000..6515d97
--- /dev/null
+++ b/fluentd_v0.12-alpine/entrypoint.sh
@@ -0,0 +1,18 @@
+#!/usr/bin/dumb-init /bin/sh
+
+uid=${FLUENT_UID:-1000}
+
+# check if a old fluent user exists and delete it
+cat /etc/passwd | grep fluent
+if [ $? -eq 0 ]; then
+ deluser fluent
+fi
+
+# (re)add the fluent user with $FLUENT_UID
+adduser -D -g '' -u ${uid} -h /home/fluent fluent
+
+# chown home and data folder
+chown -R fluent /home/fluent
+chown -R fluent /fluentd
+
+exec su-exec fluent "$@"
diff --git a/fluentd_v0.12-alpine/fluent.conf b/fluentd_v0.12-alpine/fluent.conf
new file mode 100644
index 0000000..24a37b5
--- /dev/null
+++ b/fluentd_v0.12-alpine/fluent.conf
@@ -0,0 +1,33 @@
+<source>
+ @type forward
+ @id input1
+ @label @mainstream
+ port 24224
+</source>
+
+<filter **>
+ @type stdout
+</filter>
+
+<label @mainstream>
+ <match docker.**>
+ @type file
+ @id output_docker1
+ path /fluentd/log/docker.*.log
+ symlink_path /fluentd/log/docker.log
+ append true
+ time_slice_format %Y%m%d
+ time_slice_wait 1m
+ time_format %Y%m%dT%H%M%S%z
+ </match>
+ <match **>
+ @type file
+ @id output1
+ path /fluentd/log/data.*.log
+ symlink_path /fluentd/log/data.log
+ append true
+ time_slice_format %Y%m%d
+ time_slice_wait 10m
+ time_format %Y%m%dT%H%M%S%z
+ </match>
+</label>
diff --git a/fluentd_v0.12-debian-onbuild/Dockerfile b/fluentd_v0.12-debian-onbuild/Dockerfile
new file mode 100644
index 0000000..31975c8
--- /dev/null
+++ b/fluentd_v0.12-debian-onbuild/Dockerfile
@@ -0,0 +1,76 @@
+# AUTOMATICALLY GENERATED
+# DO NOT EDIT THIS FILE DIRECTLY, USE /Dockerfile.template.erb
+
+FROM debian:stretch-slim
+LABEL maintainer "TAGOMORI Satoshi <[email protected]>"
+LABEL Description="Fluentd docker image" Vendor="Fluent Organization" Version="1.1"
+
+ENV DUMB_INIT_VERSION=1.2.0
+
+ENV GOSU_VERSION=1.10
+
+ARG DEBIAN_FRONTEND=noninteractive
+
+# Do not split this into multiple RUN!
+# Docker creates a layer for every RUN-Statement
+# therefore an 'apt-get purge' has no effect
+RUN apt-get update \
+ && apt-get upgrade -y \
+ && apt-get install -y --no-install-recommends \
+ ca-certificates \
+ ruby \
+ && buildDeps=" \
+ make gcc g++ libc-dev \
+ ruby-dev \
+ wget bzip2 gnupg dirmngr \
+ " \
+ && apt-get install -y --no-install-recommends $buildDeps \
+ && update-ca-certificates \
+ && echo 'gem: --no-document' >> /etc/gemrc \
+ && gem install oj -v 2.18.3 \
+ && gem install json -v 2.1.0 \
+ && gem install fluentd -v 0.12.41 \
+ && dpkgArch="$(dpkg --print-architecture | awk -F- '{ print $NF }')" \
+ && wget -O /usr/bin/dumb-init https://github.com/Yelp/dumb-init/releases/download/v${DUMB_INIT_VERSION}/dumb-init_${DUMB_INIT_VERSION}_$dpkgArch \
+ && chmod +x /usr/bin/dumb-init \
+ && wget -O /usr/local/bin/gosu "https://github.com/tianon/gosu/releases/download/$GOSU_VERSION/gosu-$dpkgArch" \
+ && wget -O /usr/local/bin/gosu.asc "https://github.com/tianon/gosu/releases/download/$GOSU_VERSION/gosu-$dpkgArch.asc" \
+ && export GNUPGHOME="$(mktemp -d)" \
+ && gpg --keyserver hkp://p80.pool.sks-keyservers.net:80 --recv-keys B42F6819007F00F88E364FD4036A9C25BF357DD4 \
+ && gpg --batch --verify /usr/local/bin/gosu.asc /usr/local/bin/gosu \
+ && rm -rf "$GNUPGHOME" /usr/local/bin/gosu.asc \
+ && chmod +x /usr/local/bin/gosu \
+ && gosu nobody true \
+ && wget -O /tmp/jemalloc-4.4.0.tar.bz2 https://github.com/jemalloc/jemalloc/releases/download/4.4.0/jemalloc-4.4.0.tar.bz2 \
+ && cd /tmp && tar -xjf jemalloc-4.4.0.tar.bz2 && cd jemalloc-4.4.0/ \
+ && ./configure && make \
+ && mv lib/libjemalloc.so.2 /usr/lib \
+ && apt-get purge -y --auto-remove \
+ -o APT::AutoRemove::RecommendsImportant=false \
+ $buildDeps \
+ && rm -rf /var/lib/apt/lists/* \
+ && rm -rf /tmp/* /var/tmp/* /usr/lib/ruby/gems/*/cache/*.gem
+
+# for log storage (maybe shared with host)
+RUN mkdir -p /fluentd/log
+# configuration/plugins path (default: copied from .)
+RUN mkdir -p /fluentd/etc /fluentd/plugins
+
+COPY fluent.conf /fluentd/etc/
+COPY entrypoint.sh /bin/
+RUN chmod +x /bin/entrypoint.sh
+
+ONBUILD COPY fluent.conf /fluentd/etc/
+ONBUILD COPY plugins /fluentd/plugins/
+
+ENV FLUENTD_OPT=""
+ENV FLUENTD_CONF="fluent.conf"
+
+ENV LD_PRELOAD="/usr/lib/libjemalloc.so.2"
+ENV DUMB_INIT_SETSID 0
+
+EXPOSE 24224 5140
+
+ENTRYPOINT ["/bin/entrypoint.sh"]
+
+CMD exec fluentd -c /fluentd/etc/${FLUENTD_CONF} -p /fluentd/plugins $FLUENTD_OPT
diff --git a/fluentd_v0.12-debian-onbuild/entrypoint.sh b/fluentd_v0.12-debian-onbuild/entrypoint.sh
new file mode 100644
index 0000000..a21b79d
--- /dev/null
+++ b/fluentd_v0.12-debian-onbuild/entrypoint.sh
@@ -0,0 +1,19 @@
+#!/usr/bin/dumb-init /bin/sh
+
+uid=${FLUENT_UID:-1000}
+
+# check if a old fluent user exists and delete it
+cat /etc/passwd | grep fluent
+if [ $? -eq 0 ]; then
+ deluser fluent
+fi
+
+# (re)add the fluent user with $FLUENT_UID
+useradd -u ${uid} -o -c "" -m fluent
+export HOME=/home/fluent
+
+# chown home and data folder
+chown -R fluent /home/fluent
+chown -R fluent /fluentd
+
+exec gosu fluent "$@"
diff --git a/fluentd_v0.12-debian-onbuild/fluent.conf b/fluentd_v0.12-debian-onbuild/fluent.conf
new file mode 100644
index 0000000..24a37b5
--- /dev/null
+++ b/fluentd_v0.12-debian-onbuild/fluent.conf
@@ -0,0 +1,33 @@
+<source>
+ @type forward
+ @id input1
+ @label @mainstream
+ port 24224
+</source>
+
+<filter **>
+ @type stdout
+</filter>
+
+<label @mainstream>
+ <match docker.**>
+ @type file
+ @id output_docker1
+ path /fluentd/log/docker.*.log
+ symlink_path /fluentd/log/docker.log
+ append true
+ time_slice_format %Y%m%d
+ time_slice_wait 1m
+ time_format %Y%m%dT%H%M%S%z
+ </match>
+ <match **>
+ @type file
+ @id output1
+ path /fluentd/log/data.*.log
+ symlink_path /fluentd/log/data.log
+ append true
+ time_slice_format %Y%m%d
+ time_slice_wait 10m
+ time_format %Y%m%dT%H%M%S%z
+ </match>
+</label>
diff --git a/fluentd_v0.12-debian/Dockerfile b/fluentd_v0.12-debian/Dockerfile
new file mode 100644
index 0000000..0781a65
--- /dev/null
+++ b/fluentd_v0.12-debian/Dockerfile
@@ -0,0 +1,74 @@
+# AUTOMATICALLY GENERATED
+# DO NOT EDIT THIS FILE DIRECTLY, USE /Dockerfile.template.erb
+
+FROM debian:stretch-slim
+LABEL maintainer "TAGOMORI Satoshi <[email protected]>"
+LABEL Description="Fluentd docker image" Vendor="Fluent Organization" Version="1.1"
+
+ENV DUMB_INIT_VERSION=1.2.0
+
+ENV GOSU_VERSION=1.10
+
+ARG DEBIAN_FRONTEND=noninteractive
+
+# Do not split this into multiple RUN!
+# Docker creates a layer for every RUN-Statement
+# therefore an 'apt-get purge' has no effect
+RUN apt-get update \
+ && apt-get upgrade -y \
+ && apt-get install -y --no-install-recommends \
+ ca-certificates \
+ ruby \
+ && buildDeps=" \
+ make gcc g++ libc-dev \
+ ruby-dev \
+ wget bzip2 gnupg dirmngr \
+ " \
+ && apt-get install -y --no-install-recommends $buildDeps \
+ && update-ca-certificates \
+ && echo 'gem: --no-document' >> /etc/gemrc \
+ && gem install oj -v 2.18.3 \
+ && gem install json -v 2.1.0 \
+ && gem install fluentd -v 0.12.41 \
+ && dpkgArch="$(dpkg --print-architecture | awk -F- '{ print $NF }')" \
+ && wget -O /usr/bin/dumb-init https://github.com/Yelp/dumb-init/releases/download/v${DUMB_INIT_VERSION}/dumb-init_${DUMB_INIT_VERSION}_$dpkgArch \
+ && chmod +x /usr/bin/dumb-init \
+ && wget -O /usr/local/bin/gosu "https://github.com/tianon/gosu/releases/download/$GOSU_VERSION/gosu-$dpkgArch" \
+ && wget -O /usr/local/bin/gosu.asc "https://github.com/tianon/gosu/releases/download/$GOSU_VERSION/gosu-$dpkgArch.asc" \
+ && export GNUPGHOME="$(mktemp -d)" \
+ && gpg --keyserver hkp://p80.pool.sks-keyservers.net:80 --recv-keys B42F6819007F00F88E364FD4036A9C25BF357DD4 \
+ && gpg --batch --verify /usr/local/bin/gosu.asc /usr/local/bin/gosu \
+ && rm -rf "$GNUPGHOME" /usr/local/bin/gosu.asc \
+ && chmod +x /usr/local/bin/gosu \
+ && gosu nobody true \
+ && wget -O /tmp/jemalloc-4.4.0.tar.bz2 https://github.com/jemalloc/jemalloc/releases/download/4.4.0/jemalloc-4.4.0.tar.bz2 \
+ && cd /tmp && tar -xjf jemalloc-4.4.0.tar.bz2 && cd jemalloc-4.4.0/ \
+ && ./configure && make \
+ && mv lib/libjemalloc.so.2 /usr/lib \
+ && apt-get purge -y --auto-remove \
+ -o APT::AutoRemove::RecommendsImportant=false \
+ $buildDeps \
+ && rm -rf /var/lib/apt/lists/* \
+ && rm -rf /tmp/* /var/tmp/* /usr/lib/ruby/gems/*/cache/*.gem
+
+# for log storage (maybe shared with host)
+RUN mkdir -p /fluentd/log
+# configuration/plugins path (default: copied from .)
+RUN mkdir -p /fluentd/etc /fluentd/plugins
+
+COPY fluent.conf /fluentd/etc/
+COPY entrypoint.sh /bin/
+RUN chmod +x /bin/entrypoint.sh
+
+
+ENV FLUENTD_OPT=""
+ENV FLUENTD_CONF="fluent.conf"
+
+ENV LD_PRELOAD="/usr/lib/libjemalloc.so.2"
+ENV DUMB_INIT_SETSID 0
+
+EXPOSE 24224 5140
+
+ENTRYPOINT ["/bin/entrypoint.sh"]
+
+CMD exec fluentd -c /fluentd/etc/${FLUENTD_CONF} -p /fluentd/plugins $FLUENTD_OPT
diff --git a/fluentd_v0.12-debian/entrypoint.sh b/fluentd_v0.12-debian/entrypoint.sh
new file mode 100644
index 0000000..a21b79d
--- /dev/null
+++ b/fluentd_v0.12-debian/entrypoint.sh
@@ -0,0 +1,19 @@
+#!/usr/bin/dumb-init /bin/sh
+
+uid=${FLUENT_UID:-1000}
+
+# check if a old fluent user exists and delete it
+cat /etc/passwd | grep fluent
+if [ $? -eq 0 ]; then
+ deluser fluent
+fi
+
+# (re)add the fluent user with $FLUENT_UID
+useradd -u ${uid} -o -c "" -m fluent
+export HOME=/home/fluent
+
+# chown home and data folder
+chown -R fluent /home/fluent
+chown -R fluent /fluentd
+
+exec gosu fluent "$@"
diff --git a/fluentd_v0.12-debian/fluent.conf b/fluentd_v0.12-debian/fluent.conf
new file mode 100644
index 0000000..24a37b5
--- /dev/null
+++ b/fluentd_v0.12-debian/fluent.conf
@@ -0,0 +1,33 @@
+<source>
+ @type forward
+ @id input1
+ @label @mainstream
+ port 24224
+</source>
+
+<filter **>
+ @type stdout
+</filter>
+
+<label @mainstream>
+ <match docker.**>
+ @type file
+ @id output_docker1
+ path /fluentd/log/docker.*.log
+ symlink_path /fluentd/log/docker.log
+ append true
+ time_slice_format %Y%m%d
+ time_slice_wait 1m
+ time_format %Y%m%dT%H%M%S%z
+ </match>
+ <match **>
+ @type file
+ @id output1
+ path /fluentd/log/data.*.log
+ symlink_path /fluentd/log/data.log
+ append true
+ time_slice_format %Y%m%d
+ time_slice_wait 10m
+ time_format %Y%m%dT%H%M%S%z
+ </match>
+</label>
diff --git a/fluentd_v0.14-alpine-onbuild/Dockerfile b/fluentd_v0.14-alpine-onbuild/Dockerfile
new file mode 100644
index 0000000..3953744
--- /dev/null
+++ b/fluentd_v0.14-alpine-onbuild/Dockerfile
@@ -0,0 +1,58 @@
+# AUTOMATICALLY GENERATED
+# DO NOT EDIT THIS FILE DIRECTLY, USE /Dockerfile.template.erb
+
+FROM alpine:3.5
+LABEL maintainer "TAGOMORI Satoshi <[email protected]>"
+LABEL Description="Fluentd docker image" Vendor="Fluent Organization" Version="1.1"
+
+ENV DUMB_INIT_VERSION=1.2.0
+
+ENV SU_EXEC_VERSION=0.2
+
+ARG DEBIAN_FRONTEND=noninteractive
+
+# Do not split this into multiple RUN!
+# Docker creates a layer for every RUN-Statement
+# therefore an 'apk delete' has no effect
+RUN apk update \
+ && apk upgrade \
+ && apk add --no-cache \
+ ca-certificates \
+ ruby ruby-irb \
+ su-exec==${SU_EXEC_VERSION}-r0 \
+ dumb-init==${DUMB_INIT_VERSION}-r0 \
+ && apk add --no-cache --virtual .build-deps \
+ build-base \
+ ruby-dev wget gnupg \
+ && update-ca-certificates \
+ && echo 'gem: --no-document' >> /etc/gemrc \
+ && gem install oj -v 2.18.3 \
+ && gem install json -v 2.1.0 \
+ && gem install fluentd -v 0.14.23 \
+ && apk del .build-deps \
+ && rm -rf /var/cache/apk/* \
+ && rm -rf /tmp/* /var/tmp/* /usr/lib/ruby/gems/*/cache/*.gem
+
+# for log storage (maybe shared with host)
+RUN mkdir -p /fluentd/log
+# configuration/plugins path (default: copied from .)
+RUN mkdir -p /fluentd/etc /fluentd/plugins
+
+COPY fluent.conf /fluentd/etc/
+COPY entrypoint.sh /bin/
+RUN chmod +x /bin/entrypoint.sh
+
+ONBUILD COPY fluent.conf /fluentd/etc/
+ONBUILD COPY plugins /fluentd/plugins/
+
+ENV FLUENTD_OPT=""
+ENV FLUENTD_CONF="fluent.conf"
+
+ENV LD_PRELOAD=""
+ENV DUMB_INIT_SETSID 0
+
+EXPOSE 24224 5140
+
+ENTRYPOINT ["/bin/entrypoint.sh"]
+
+CMD exec fluentd -c /fluentd/etc/${FLUENTD_CONF} -p /fluentd/plugins $FLUENTD_OPT
diff --git a/fluentd_v0.14-alpine-onbuild/entrypoint.sh b/fluentd_v0.14-alpine-onbuild/entrypoint.sh
new file mode 100644
index 0000000..6515d97
--- /dev/null
+++ b/fluentd_v0.14-alpine-onbuild/entrypoint.sh
@@ -0,0 +1,18 @@
+#!/usr/bin/dumb-init /bin/sh
+
+uid=${FLUENT_UID:-1000}
+
+# check if a old fluent user exists and delete it
+cat /etc/passwd | grep fluent
+if [ $? -eq 0 ]; then
+ deluser fluent
+fi
+
+# (re)add the fluent user with $FLUENT_UID
+adduser -D -g '' -u ${uid} -h /home/fluent fluent
+
+# chown home and data folder
+chown -R fluent /home/fluent
+chown -R fluent /fluentd
+
+exec su-exec fluent "$@"
diff --git a/fluentd_v0.14-alpine-onbuild/fluent.conf b/fluentd_v0.14-alpine-onbuild/fluent.conf
new file mode 100644
index 0000000..24a37b5
--- /dev/null
+++ b/fluentd_v0.14-alpine-onbuild/fluent.conf
@@ -0,0 +1,33 @@
+<source>
+ @type forward
+ @id input1
+ @label @mainstream
+ port 24224
+</source>
+
+<filter **>
+ @type stdout
+</filter>
+
+<label @mainstream>
+ <match docker.**>
+ @type file
+ @id output_docker1
+ path /fluentd/log/docker.*.log
+ symlink_path /fluentd/log/docker.log
+ append true
+ time_slice_format %Y%m%d
+ time_slice_wait 1m
+ time_format %Y%m%dT%H%M%S%z
+ </match>
+ <match **>
+ @type file
+ @id output1
+ path /fluentd/log/data.*.log
+ symlink_path /fluentd/log/data.log
+ append true
+ time_slice_format %Y%m%d
+ time_slice_wait 10m
+ time_format %Y%m%dT%H%M%S%z
+ </match>
+</label>
diff --git a/fluentd_v0.14-debian-onbuild/Dockerfile b/fluentd_v0.14-debian-onbuild/Dockerfile
new file mode 100644
index 0000000..c41c451
--- /dev/null
+++ b/fluentd_v0.14-debian-onbuild/Dockerfile
@@ -0,0 +1,76 @@
+# AUTOMATICALLY GENERATED
+# DO NOT EDIT THIS FILE DIRECTLY, USE /Dockerfile.template.erb
+
+FROM debian:stretch-slim
+LABEL maintainer "TAGOMORI Satoshi <[email protected]>"
+LABEL Description="Fluentd docker image" Vendor="Fluent Organization" Version="1.1"
+
+ENV DUMB_INIT_VERSION=1.2.0
+
+ENV GOSU_VERSION=1.10
+
+ARG DEBIAN_FRONTEND=noninteractive
+
+# Do not split this into multiple RUN!
+# Docker creates a layer for every RUN-Statement
+# therefore an 'apt-get purge' has no effect
+RUN apt-get update \
+ && apt-get upgrade -y \
+ && apt-get install -y --no-install-recommends \
+ ca-certificates \
+ ruby \
+ && buildDeps=" \
+ make gcc g++ libc-dev \
+ ruby-dev \
+ wget bzip2 gnupg dirmngr \
+ " \
+ && apt-get install -y --no-install-recommends $buildDeps \
+ && update-ca-certificates \
+ && echo 'gem: --no-document' >> /etc/gemrc \
+ && gem install oj -v 2.18.3 \
+ && gem install json -v 2.1.0 \
+ && gem install fluentd -v 0.14.23 \
+ && dpkgArch="$(dpkg --print-architecture | awk -F- '{ print $NF }')" \
+ && wget -O /usr/bin/dumb-init https://github.com/Yelp/dumb-init/releases/download/v${DUMB_INIT_VERSION}/dumb-init_${DUMB_INIT_VERSION}_$dpkgArch \
+ && chmod +x /usr/bin/dumb-init \
+ && wget -O /usr/local/bin/gosu "https://github.com/tianon/gosu/releases/download/$GOSU_VERSION/gosu-$dpkgArch" \
+ && wget -O /usr/local/bin/gosu.asc "https://github.com/tianon/gosu/releases/download/$GOSU_VERSION/gosu-$dpkgArch.asc" \
+ && export GNUPGHOME="$(mktemp -d)" \
+ && gpg --keyserver hkp://p80.pool.sks-keyservers.net:80 --recv-keys B42F6819007F00F88E364FD4036A9C25BF357DD4 \
+ && gpg --batch --verify /usr/local/bin/gosu.asc /usr/local/bin/gosu \
+ && rm -rf "$GNUPGHOME" /usr/local/bin/gosu.asc \
+ && chmod +x /usr/local/bin/gosu \
+ && gosu nobody true \
+ && wget -O /tmp/jemalloc-4.4.0.tar.bz2 https://github.com/jemalloc/jemalloc/releases/download/4.4.0/jemalloc-4.4.0.tar.bz2 \
+ && cd /tmp && tar -xjf jemalloc-4.4.0.tar.bz2 && cd jemalloc-4.4.0/ \
+ && ./configure && make \
+ && mv lib/libjemalloc.so.2 /usr/lib \
+ && apt-get purge -y --auto-remove \
+ -o APT::AutoRemove::RecommendsImportant=false \
+ $buildDeps \
+ && rm -rf /var/lib/apt/lists/* \
+ && rm -rf /tmp/* /var/tmp/* /usr/lib/ruby/gems/*/cache/*.gem
+
+# for log storage (maybe shared with host)
+RUN mkdir -p /fluentd/log
+# configuration/plugins path (default: copied from .)
+RUN mkdir -p /fluentd/etc /fluentd/plugins
+
+COPY fluent.conf /fluentd/etc/
+COPY entrypoint.sh /bin/
+RUN chmod +x /bin/entrypoint.sh
+
+ONBUILD COPY fluent.conf /fluentd/etc/
+ONBUILD COPY plugins /fluentd/plugins/
+
+ENV FLUENTD_OPT=""
+ENV FLUENTD_CONF="fluent.conf"
+
+ENV LD_PRELOAD="/usr/lib/libjemalloc.so.2"
+ENV DUMB_INIT_SETSID 0
+
+EXPOSE 24224 5140
+
+ENTRYPOINT ["/bin/entrypoint.sh"]
+
+CMD exec fluentd -c /fluentd/etc/${FLUENTD_CONF} -p /fluentd/plugins $FLUENTD_OPT
diff --git a/fluentd_v0.14-debian-onbuild/entrypoint.sh b/fluentd_v0.14-debian-onbuild/entrypoint.sh
new file mode 100644
index 0000000..a21b79d
--- /dev/null
+++ b/fluentd_v0.14-debian-onbuild/entrypoint.sh
@@ -0,0 +1,19 @@
+#!/usr/bin/dumb-init /bin/sh
+
+uid=${FLUENT_UID:-1000}
+
+# check if a old fluent user exists and delete it
+cat /etc/passwd | grep fluent
+if [ $? -eq 0 ]; then
+ deluser fluent
+fi
+
+# (re)add the fluent user with $FLUENT_UID
+useradd -u ${uid} -o -c "" -m fluent
+export HOME=/home/fluent
+
+# chown home and data folder
+chown -R fluent /home/fluent
+chown -R fluent /fluentd
+
+exec gosu fluent "$@"
diff --git a/fluentd_v0.14-debian-onbuild/fluent.conf b/fluentd_v0.14-debian-onbuild/fluent.conf
new file mode 100644
index 0000000..24a37b5
--- /dev/null
+++ b/fluentd_v0.14-debian-onbuild/fluent.conf
@@ -0,0 +1,33 @@
+<source>
+ @type forward
+ @id input1
+ @label @mainstream
+ port 24224
+</source>
+
+<filter **>
+ @type stdout
+</filter>
+
+<label @mainstream>
+ <match docker.**>
+ @type file
+ @id output_docker1
+ path /fluentd/log/docker.*.log
+ symlink_path /fluentd/log/docker.log
+ append true
+ time_slice_format %Y%m%d
+ time_slice_wait 1m
+ time_format %Y%m%dT%H%M%S%z
+ </match>
+ <match **>
+ @type file
+ @id output1
+ path /fluentd/log/data.*.log
+ symlink_path /fluentd/log/data.log
+ append true
+ time_slice_format %Y%m%d
+ time_slice_wait 10m
+ time_format %Y%m%dT%H%M%S%z
+ </match>
+</label>
diff --git a/fluentd_v0.14-debian/Dockerfile b/fluentd_v0.14-debian/Dockerfile
new file mode 100644
index 0000000..e00e84f
--- /dev/null
+++ b/fluentd_v0.14-debian/Dockerfile
@@ -0,0 +1,74 @@
+# AUTOMATICALLY GENERATED
+# DO NOT EDIT THIS FILE DIRECTLY, USE /Dockerfile.template.erb
+
+FROM debian:stretch-slim
+LABEL maintainer "TAGOMORI Satoshi <[email protected]>"
+LABEL Description="Fluentd docker image" Vendor="Fluent Organization" Version="1.1"
+
+ENV DUMB_INIT_VERSION=1.2.0
+
+ENV GOSU_VERSION=1.10
+
+ARG DEBIAN_FRONTEND=noninteractive
+
+# Do not split this into multiple RUN!
+# Docker creates a layer for every RUN-Statement
+# therefore an 'apt-get purge' has no effect
+RUN apt-get update \
+ && apt-get upgrade -y \
+ && apt-get install -y --no-install-recommends \
+ ca-certificates \
+ ruby \
+ && buildDeps=" \
+ make gcc g++ libc-dev \
+ ruby-dev \
+ wget bzip2 gnupg dirmngr \
+ " \
+ && apt-get install -y --no-install-recommends $buildDeps \
+ && update-ca-certificates \
+ && echo 'gem: --no-document' >> /etc/gemrc \
+ && gem install oj -v 2.18.3 \
+ && gem install json -v 2.1.0 \
+ && gem install fluentd -v 0.14.23 \
+ && dpkgArch="$(dpkg --print-architecture | awk -F- '{ print $NF }')" \
+ && wget -O /usr/bin/dumb-init https://github.com/Yelp/dumb-init/releases/download/v${DUMB_INIT_VERSION}/dumb-init_${DUMB_INIT_VERSION}_$dpkgArch \
+ && chmod +x /usr/bin/dumb-init \
+ && wget -O /usr/local/bin/gosu "https://github.com/tianon/gosu/releases/download/$GOSU_VERSION/gosu-$dpkgArch" \
+ && wget -O /usr/local/bin/gosu.asc "https://github.com/tianon/gosu/releases/download/$GOSU_VERSION/gosu-$dpkgArch.asc" \
+ && export GNUPGHOME="$(mktemp -d)" \
+ && gpg --keyserver hkp://p80.pool.sks-keyservers.net:80 --recv-keys B42F6819007F00F88E364FD4036A9C25BF357DD4 \
+ && gpg --batch --verify /usr/local/bin/gosu.asc /usr/local/bin/gosu \
+ && rm -rf "$GNUPGHOME" /usr/local/bin/gosu.asc \
+ && chmod +x /usr/local/bin/gosu \
+ && gosu nobody true \
+ && wget -O /tmp/jemalloc-4.4.0.tar.bz2 https://github.com/jemalloc/jemalloc/releases/download/4.4.0/jemalloc-4.4.0.tar.bz2 \
+ && cd /tmp && tar -xjf jemalloc-4.4.0.tar.bz2 && cd jemalloc-4.4.0/ \
+ && ./configure && make \
+ && mv lib/libjemalloc.so.2 /usr/lib \
+ && apt-get purge -y --auto-remove \
+ -o APT::AutoRemove::RecommendsImportant=false \
+ $buildDeps \
+ && rm -rf /var/lib/apt/lists/* \
+ && rm -rf /tmp/* /var/tmp/* /usr/lib/ruby/gems/*/cache/*.gem
+
+# for log storage (maybe shared with host)
+RUN mkdir -p /fluentd/log
+# configuration/plugins path (default: copied from .)
+RUN mkdir -p /fluentd/etc /fluentd/plugins
+
+COPY fluent.conf /fluentd/etc/
+COPY entrypoint.sh /bin/
+RUN chmod +x /bin/entrypoint.sh
+
+
+ENV FLUENTD_OPT=""
+ENV FLUENTD_CONF="fluent.conf"
+
+ENV LD_PRELOAD="/usr/lib/libjemalloc.so.2"
+ENV DUMB_INIT_SETSID 0
+
+EXPOSE 24224 5140
+
+ENTRYPOINT ["/bin/entrypoint.sh"]
+
+CMD exec fluentd -c /fluentd/etc/${FLUENTD_CONF} -p /fluentd/plugins $FLUENTD_OPT
diff --git a/fluentd_v0.14-debian/entrypoint.sh b/fluentd_v0.14-debian/entrypoint.sh
new file mode 100644
index 0000000..a21b79d
--- /dev/null
+++ b/fluentd_v0.14-debian/entrypoint.sh
@@ -0,0 +1,19 @@
+#!/usr/bin/dumb-init /bin/sh
+
+uid=${FLUENT_UID:-1000}
+
+# check if a old fluent user exists and delete it
+cat /etc/passwd | grep fluent
+if [ $? -eq 0 ]; then
+ deluser fluent
+fi
+
+# (re)add the fluent user with $FLUENT_UID
+useradd -u ${uid} -o -c "" -m fluent
+export HOME=/home/fluent
+
+# chown home and data folder
+chown -R fluent /home/fluent
+chown -R fluent /fluentd
+
+exec gosu fluent "$@"
diff --git a/fluentd_v0.14-debian/fluent.conf b/fluentd_v0.14-debian/fluent.conf
new file mode 100644
index 0000000..24a37b5
--- /dev/null
+++ b/fluentd_v0.14-debian/fluent.conf
@@ -0,0 +1,33 @@
+<source>
+ @type forward
+ @id input1
+ @label @mainstream
+ port 24224
+</source>
+
+<filter **>
+ @type stdout
+</filter>
+
+<label @mainstream>
+ <match docker.**>
+ @type file
+ @id output_docker1
+ path /fluentd/log/docker.*.log
+ symlink_path /fluentd/log/docker.log
+ append true
+ time_slice_format %Y%m%d
+ time_slice_wait 1m
+ time_format %Y%m%dT%H%M%S%z
+ </match>
+ <match **>
+ @type file
+ @id output1
+ path /fluentd/log/data.*.log
+ symlink_path /fluentd/log/data.log
+ append true
+ time_slice_format %Y%m%d
+ time_slice_wait 10m
+ time_format %Y%m%dT%H%M%S%z
+ </match>
+</label>Regarding the Dockerization itself: I don't understand the purpose of including Doing Why run Using the shell form of Having the entrypoint itself modify Is it necessary or useful to provide a default configuration file? For example, the |
|
Hi @tianon, thanks for the response!!
I have updated the commit to reflect both these concerns (have for now removed the onbuild variants) For the dockerfile review comments, have requested upstream to comment: fluent/fluentd-docker-image#98 (comment) |
|
Hello! ✨ Thanks for your interest in contributing to the official images program. 💭 As you may have noticed, we've usually got a pretty decently sized queue of new images (not to mention image updates and maintenance of images under @docker-library which are maintained by the core official images team). As such, it may be some time before we get to reviewing this image (image updates get priority both because users expect them and because reviewing new images is a more involved process than reviewing updates), so we apologize in advance! Please be patient with us (and avoid poking us about your image via other communication means -- rest assured, we've seen your PR and it's in the queue). ❤️ We do try to proactively add and update the "new image checklist" on each PR, so if you haven't looked at it yet, that's a good use of time while you wait. ☔ Thanks! 💖 💙 💚 ❤️ |
|
Thanks @docker-library-bot ❤️ @vaibhavsood do you think this is still something upstream is (and you are) interested in pushing forward? It seemed that they had some initial interest on that thread you opened, but it appears they've likely been too busy with other things to give it more thought. |
|
Hi @tianon, yes i will be interested in taking this forward. i will post another update on the fluentd thread, will need inputs from their end to work on your review comments for the dockerfile |
As suggested by @tianon LINK: docker-library/official-images#3724 (comment) This is part of an effort to make FluentD part of Docker's Official Images. Signed-off-by: Lee Jones <[email protected]>
As suggested by @tianon LINK: docker-library/official-images#3724 (comment) This is part of an effort to make FluentD part of Docker's Official Images. Also see LINK: https://docs.docker.com/engine/userguide/eng-image/dockerfile_best-practices/#apt-get Signed-off-by: Lee Jones <[email protected]>
As suggested by @tianon LINK: docker-library/official-images#3724 (comment) This is part of an effort to make FluentD part of Docker's Official Images. Also see LINK: https://docs.docker.com/engine/userguide/eng-image/dockerfile_best-practices/#apt-get Signed-off-by: Lee Jones <[email protected]>
As suggested by @tianon LINK: docker-library/official-images#3724 (comment) This is part of an effort to make FluentD part of Docker's Official Images. Signed-off-by: Lee Jones <[email protected]>
If permissions problems exist, they should be overcome properly. For examples see: LINK: docker-library/rabbitmq#60 LINK: docker-library/cassandra#48 LINK: docker-library/mongo#81 LINK: redis/docker-library-redis#48 LINK: docker-library/mysql#161 LINK: MariaDB/mariadb-docker#59 LINK: docker-library/percona#21 LINK: docker-library/ghost#54 LINK: docker-library/postgres#253 As suggested by @tianon LINK: docker-library/official-images#3724 (comment) This is part of an effort to make FluentD part of Docker's Official Images. Signed-off-by: Lee Jones <[email protected]>
This allows us to remove the `FLUENTD_CONF` and `FLUENTD_OPT` envs. As suggested by @tianon LINK: docker-library/official-images#3724 (comment) This is part of an effort to make FluentD part of Docker's Official Images. Signed-off-by: Lee Jones <[email protected]>
This allows us to remove the `FLUENTD_CONF` and `FLUENTD_OPT` envs. As suggested by @tianon LINK: docker-library/official-images#3724 (comment) This is part of an effort to make FluentD part of Docker's Official Images. Signed-off-by: Lee Jones <[email protected]>
The FluentD package does not provide a 'fluent' user. Until now hacks exist in the entrypoint.sh which provide one manually at run-time. Instead of doing that, let's create the user when the container is created. This issue was highlighted by @tianon LINK: docker-library/official-images#3724 (comment) Signed-off-by: Lee Jones <[email protected]>
If permissions problems exist, they should be overcome properly. For examples see: LINK: docker-library/rabbitmq#60 LINK: docker-library/cassandra#48 LINK: docker-library/mongo#81 LINK: redis/docker-library-redis#48 LINK: docker-library/mysql#161 LINK: MariaDB/mariadb-docker#59 LINK: docker-library/percona#21 LINK: docker-library/ghost#54 LINK: docker-library/postgres#253 As suggested by @tianon LINK: docker-library/official-images#3724 (comment) This is part of an effort to make FluentD part of Docker's Official Images. Signed-off-by: Lee Jones <[email protected]>
This allows us to remove the `FLUENTD_CONF` and `FLUENTD_OPT` envs. As suggested by @tianon LINK: docker-library/official-images#3724 (comment) This is part of an effort to make FluentD part of Docker's Official Images. Signed-off-by: Lee Jones <[email protected]>
As suggested by @tianon LINK: docker-library/official-images#3724 (comment) This is part of an effort to make FluentD part of Docker's Official Images. Signed-off-by: Lee Jones <[email protected]>
As suggested by @tianon LINK: docker-library/official-images#3724 (comment) This is part of an effort to make FluentD part of Docker's Official Images. Also see LINK: https://docs.docker.com/engine/userguide/eng-image/dockerfile_best-practices/#apt-get Signed-off-by: Lee Jones <[email protected]>
As suggested by @tianon LINK: docker-library/official-images#3724 (comment) This is part of an effort to make FluentD part of Docker's Official Images. Also see LINK: https://docs.docker.com/engine/userguide/eng-image/dockerfile_best-practices/#apt-get Signed-off-by: Lee Jones <[email protected]>
As suggested by @tianon LINK: docker-library/official-images#3724 (comment) This is part of an effort to make FluentD part of Docker's Official Images. Signed-off-by: Lee Jones <[email protected]>
The FluentD package does not provide a 'fluent' user. Until now hacks exist in the entrypoint.sh which provide one manually at run-time. Instead of doing that, let's create the user when the container is created. This issue was highlighted by @tianon LINK: docker-library/official-images#3724 (comment) Signed-off-by: Lee Jones <[email protected]>
If permissions problems exist, they should be overcome properly. For examples see: LINK: docker-library/rabbitmq#60 LINK: docker-library/cassandra#48 LINK: docker-library/mongo#81 LINK: redis/docker-library-redis#48 LINK: docker-library/mysql#161 LINK: MariaDB/mariadb-docker#59 LINK: docker-library/percona#21 LINK: docker-library/ghost#54 LINK: docker-library/postgres#253 As suggested by @tianon LINK: docker-library/official-images#3724 (comment) This is part of an effort to make FluentD part of Docker's Official Images. Signed-off-by: Lee Jones <[email protected]>
This allows us to remove the `FLUENTD_CONF` and `FLUENTD_OPT` envs. As suggested by @tianon LINK: docker-library/official-images#3724 (comment) This is part of an effort to make FluentD part of Docker's Official Images. Signed-off-by: Lee Jones <[email protected]>
This allows us to remove the `FLUENTD_CONF` and `FLUENTD_OPT` envs. As suggested by @tianon LINK: docker-library/official-images#3724 (comment) This is part of an effort to make FluentD part of Docker's Official Images. Signed-off-by: Lee Jones <[email protected]>
As suggested by @tianon LINK: docker-library/official-images#3724 (comment) This is part of an effort to make FluentD part of Docker's Official Images. Signed-off-by: Lee Jones <[email protected]>
As suggested by @tianon LINK: docker-library/official-images#3724 (comment) This is part of an effort to make FluentD part of Docker's Official Images. Also see LINK: https://docs.docker.com/engine/userguide/eng-image/dockerfile_best-practices/#apt-get Signed-off-by: Lee Jones <[email protected]>
As suggested by @tianon LINK: docker-library/official-images#3724 (comment) This is part of an effort to make FluentD part of Docker's Official Images. Also see LINK: https://docs.docker.com/engine/userguide/eng-image/dockerfile_best-practices/#apt-get Signed-off-by: Lee Jones <[email protected]>
As suggested by @tianon LINK: docker-library/official-images#3724 (comment) This is part of an effort to make FluentD part of Docker's Official Images. Signed-off-by: Lee Jones <[email protected]>
The FluentD package does not provide a 'fluent' user. Until now hacks exist in the entrypoint.sh which provide one manually at run-time. Instead of doing that, let's create the user when the container is created. This issue was highlighted by @tianon LINK: docker-library/official-images#3724 (comment) Signed-off-by: Lee Jones <[email protected]>
If permissions problems exist, they should be overcome properly. For examples see: LINK: docker-library/rabbitmq#60 LINK: docker-library/cassandra#48 LINK: docker-library/mongo#81 LINK: redis/docker-library-redis#48 LINK: docker-library/mysql#161 LINK: MariaDB/mariadb-docker#59 LINK: docker-library/percona#21 LINK: docker-library/ghost#54 LINK: docker-library/postgres#253 As suggested by @tianon LINK: docker-library/official-images#3724 (comment) This is part of an effort to make FluentD part of Docker's Official Images. Signed-off-by: Lee Jones <[email protected]>
This allows us to remove the `FLUENTD_CONF` and `FLUENTD_OPT` envs. As suggested by @tianon LINK: docker-library/official-images#3724 (comment) This is part of an effort to make FluentD part of Docker's Official Images. Signed-off-by: Lee Jones <[email protected]>
As suggested by @tianon LINK: docker-library/official-images#3724 (comment) This is part of an effort to make FluentD part of Docker's Official Images. Signed-off-by: Lee Jones <[email protected]>
As suggested by @tianon LINK: docker-library/official-images#3724 (comment) This is part of an effort to make FluentD part of Docker's Official Images. Also see LINK: https://docs.docker.com/engine/userguide/eng-image/dockerfile_best-practices/#apt-get Signed-off-by: Lee Jones <[email protected]>
As suggested by @tianon LINK: docker-library/official-images#3724 (comment) This is part of an effort to make FluentD part of Docker's Official Images. Also see LINK: https://docs.docker.com/engine/userguide/eng-image/dockerfile_best-practices/#apt-get Signed-off-by: Lee Jones <[email protected]>
As suggested by @tianon LINK: docker-library/official-images#3724 (comment) This is part of an effort to make FluentD part of Docker's Official Images. Signed-off-by: Lee Jones <[email protected]>
The FluentD package does not provide a 'fluent' user. Until now hacks exist in the entrypoint.sh which provide one manually at run-time. Instead of doing that, let's create the user when the container is created. This issue was highlighted by @tianon LINK: docker-library/official-images#3724 (comment) Signed-off-by: Lee Jones <[email protected]>
If permissions problems exist, they should be overcome properly. For examples see: LINK: docker-library/rabbitmq#60 LINK: docker-library/cassandra#48 LINK: docker-library/mongo#81 LINK: redis/docker-library-redis#48 LINK: docker-library/mysql#161 LINK: MariaDB/mariadb-docker#59 LINK: docker-library/percona#21 LINK: docker-library/ghost#54 LINK: docker-library/postgres#253 As suggested by @tianon LINK: docker-library/official-images#3724 (comment) This is part of an effort to make FluentD part of Docker's Official Images. Signed-off-by: Lee Jones <[email protected]>
This allows us to remove the `FLUENTD_CONF` and `FLUENTD_OPT` envs. As suggested by @tianon LINK: docker-library/official-images#3724 (comment) This is part of an effort to make FluentD part of Docker's Official Images. Signed-off-by: Lee Jones <[email protected]>
|
I just merged the changes for official images: fluent/fluentd-docker-image#152 |
|
@yosifkit What else do we need to do or is this in your court to review and push? Thank you. |
|
It looks like we just need an updated As far as the Dockerfiles go, I think if you want the onbuild tags, you'll need to update the I think something along these lines? These Just a note that most images leave out the Oh, a PR to the docs to control what appears on the Docker Hub description. Let me know if you have any questions. |
|
Sounds good. Thanks for the thorough guidance (as usual @yosifkit). @repeatedly I assume you will take this from here? |
|
@yosifkit So we need new PR with new docker tags which include your suggested changes, right? |
|
Yes, that should work. Let us know if you have any other questions. |
|
Send new PR: #5303 |
|
Replaced by #5303 |
This is a proposal to create a new official image for https://www.fluentd.org/
Have checked with the community as per here: fluent/fluentd-docker-image#98
Checklist for Review
NOTE: This checklist is intended for the use of the Official Images maintainers both to track the status of your PR and to help inform you and others of where we're at. As such, please leave the "checking" of items to the repository maintainers. If there is a point below for which you would like to provide additional information or note completion, please do so by commenting on the PR. Thanks! (and thanks for staying patient with us ❤️)
logstash)foobarneeds Node.js, hasFROM node:...instead of grabbingnodevia other means been considered?)FROM scratch, tarballs only exist in a single commit within the associated history?