Debian images #71

Merged
merged 1 commit into from Feb 9, 2017

Projects

None yet

3 participants

@tyranron
Contributor
tyranron commented Jan 30, 2017 edited

This PR adds Debian-based images to project.
These images may be used when some plugin cannot be installed in Alpine due to unresolvable system library dependencies (like fluent-plugin-systemd problem).

  • Used debian:stretch-slim parent image to keep smaller image size.
  • Refactored Dockerfile a bit (added distro packages and ca-certificates upgrading).
  • Removed deprecated Ubuntu-based image.

BEFORE merge to master

  1. Add the following build triggers on Docker Hub:

    Type Name Dockerfile Location Docker Tag Name
    Branch master /v0.12/debian/ v0.12-debian
    Branch master /v0.12/debian-onbuild/ v0.12-debian-onbuild
    Branch master /v0.14/debian/ v0.14-debian
    Branch master /v0.14/debian-onbuild/ v0.14-debian-onbuild

    As the result, there should be exactly 8 build triggers totally.

  2. On the same page specify debian in "Repository Links" section.
    This is required to trigger automatic rebuild if parent image is updated.
    As the result, there should be 2 repositories totally (alpine and debian).

@tyranron
Contributor
tyranron commented Feb 1, 2017

Squashed and rebased on latest master.

@repeatedly would you be so kind to review?

@ryanwalls

Would be great to also update the main readme.md with an example of how to use the debian on-build image to add your own plugins. (Since there is already an example there for the alpine version.)

@tyranron
Contributor
tyranron commented Feb 8, 2017

@ryanwalls ok, will do.

@ryanwalls
ryanwalls commented Feb 8, 2017 edited

@tyranron Also, trying out this Dockerfile, it appears that Debian is installing Ruby 2.1.5 instead of 2.3.0. So you will probably need to update your gem paths.

Edit. Correction... would like to keep it at 2.3 since some plugins I'm using require it... but you'll have to install from the "testing" repo of debian.

@tyranron
Contributor
tyranron commented Feb 8, 2017

@ryanwalls maybe just update base image from jessie to stretch?

@tyranron tyranron changed the title from Debian images to [WIP] Debian images Feb 8, 2017
@repeatedly
Member

Separating Dockerfile for each OS is not good approach?

@tyranron
Contributor
tyranron commented Feb 8, 2017

@repeatedly not sure that understood well what exactly you are asking here.

Separate Dockerfiles for each OS is good approach when multiple environments are required. We're exactly in that case.

@repeatedly
Member

In this patch, each build shares Dockerfile.template.erb.
How about separating this file into Dockerfile.alpine.template.erb and Dockerfile.ubuntu.template.erb?

@tyranron
Contributor
tyranron commented Feb 8, 2017 edited

@repeatedly oh, understood.

Actually, no problems, if you'd like.

On my opinion and experience it's better to keep that stuff in one template because:

  • Those Dockerfiles are not different much. So, with high probability possible changes to them are required for both versions, and editing 2 files is worse than editing one file.
  • In one template it's easier to see the exact difference between OS version, and compare them without extra diffs.
@tyranron
Contributor
tyranron commented Feb 8, 2017

@ryanwalls README.md is updated with Debian example. Is it enough?

@ryanwalls

@tyranron Yep, that's great!

@ryanwalls ryanwalls referenced this pull request in SumoLogic/fluentd-kubernetes-sumologic Feb 8, 2017
Closed

Getting failed connections to sumologic endpoint #8

@tyranron
Contributor
tyranron commented Feb 9, 2017

@ryanwalls what about moving to stretch instead jessie? What is your opinion on it?

@tyranron
Contributor
tyranron commented Feb 9, 2017

@repeatedly please do not merge it yet. There is still one question (with ruby version) to be resolved. After it's done I'll rebase and squash on latest master and notify you that it can be merged.

@repeatedly
Member

@tyranron okay.

@ryanwalls
ryanwalls commented Feb 9, 2017 edited

@tyranron I'm good with moving to stretch. Looks like it was officially frozen 4 days ago. https://wiki.debian.org/DebianStretch

@tyranron tyranron Add Debian based images
- add support for Debian based images tags
- remove deprecated Ubuntu based image
- refactor and improve Dockerfile (distro packages & ca-certificates upgrading)
- add test for Ruby version
77a6931
@tyranron tyranron changed the title from [WIP] Debian images to Debian images Feb 9, 2017
@tyranron
Contributor
tyranron commented Feb 9, 2017

@repeatedly done. Can be merged.

@repeatedly repeatedly merged commit 6aecf03 into fluent:master Feb 9, 2017

1 check passed

continuous-integration/travis-ci/pr The Travis CI build passed
Details
@repeatedly
Member
repeatedly commented Feb 9, 2017 edited

Building debian images done: https://hub.docker.com/r/fluent/fluentd/tags/

@tyranron tyranron deleted the tyranron:debian-images branch Feb 10, 2017
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment