From 39e6de8db69ff6edc263d101d564a3a6984db2db Mon Sep 17 00:00:00 2001 From: Adam Shannon Date: Wed, 22 Jun 2016 21:38:34 -0500 Subject: [PATCH 1/5] Download the collectd binary instead of source compile The version we're depending on has been properly released now. Issue: https://github.com/Banno/infrastructure/issues/383 --- Dockerfile | 77 +++++++----------------------------------------------- 1 file changed, 10 insertions(+), 67 deletions(-) diff --git a/Dockerfile b/Dockerfile index 8367f9a..5fe4c49 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,75 +1,18 @@ FROM debian:jessie -MAINTAINER Carles Amigó, fr3nd@fr3nd.net - - -RUN apt-get update && apt-get install -y \ - autoconf \ - automake \ - autotools-dev \ - bison \ - build-essential \ - curl \ - flex \ - git \ - iptables-dev \ - libcurl4-gnutls-dev \ - libdbi0-dev \ - libesmtp-dev \ - libganglia1-dev \ - libgcrypt11-dev \ - libglib2.0-dev \ - libhiredis-dev \ - libltdl-dev \ - liblvm2-dev \ - libmemcached-dev \ - libmnl-dev \ - libmodbus-dev \ - libmysqlclient-dev \ - libopenipmi-dev \ - liboping-dev \ - libow-dev \ - libpcap-dev \ - libperl-dev \ - libpq-dev \ - libprotobuf-c-dev \ - librabbitmq-dev \ - librrd-dev \ - libsensors4-dev \ - libsnmp-dev \ - libtokyocabinet-dev \ - libtokyotyrant-dev \ - libtool \ - libupsclient-dev \ - libvirt-dev \ - libxml2-dev \ - libyajl-dev \ - linux-libc-dev \ - pkg-config \ - protobuf-c-compiler \ - python-dev && \ - rm -rf /usr/share/doc/* && \ - rm -rf /usr/share/info/* && \ - rm -rf /tmp/* && \ - rm -rf /var/tmp/* ENV COLLECTD_VERSION collectd-5.5.0 - -WORKDIR /usr/src -RUN git clone https://github.com/collectd/collectd.git WORKDIR /usr/src/collectd -RUN git checkout $COLLECTD_VERSION -RUN ./build.sh -RUN ./configure \ - --prefix=/usr \ - --sysconfdir=/etc/collectd \ - --without-libstatgrab \ - --without-included-ltdl \ - --disable-static -RUN make all -RUN make install -RUN make clean + ADD collectd.conf /etc/collectd/ ADD entrypoint.sh /entrypoint.sh -RUN chmod +x /entrypoint.sh + +RUN apt-get update && \ + apt-get install -y wget tar lbzip2 && \ + wget https://collectd.org/files/$COLLECTD_VERSION.tar.bz2 && \ + tar xf $COLLECTD_VERSION.tar.bz2 && \ + rm $COLLECTD_VERSION.tar.bz2 && \ + rm -rf /var/lib/apt/lists/* && \ + ln -s /usr/src/collectd /usr/sbin/collectd && \ + chmod +x /entrypoint.sh ENTRYPOINT ["/entrypoint.sh"] From 881b1eeccc16d139f3e6c6368b4071857e024a12 Mon Sep 17 00:00:00 2001 From: Adam Shannon Date: Fri, 24 Jun 2016 16:06:44 -0500 Subject: [PATCH 2/5] we need to actually compile collectd --- Dockerfile | 17 ++++++++--------- entrypoint.sh | 2 +- 2 files changed, 9 insertions(+), 10 deletions(-) diff --git a/Dockerfile b/Dockerfile index 5fe4c49..764c616 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,18 +1,17 @@ FROM debian:jessie -ENV COLLECTD_VERSION collectd-5.5.0 -WORKDIR /usr/src/collectd +ENV COLLECTD_VERSION 5.5.0 +WORKDIR /usr/src/ ADD collectd.conf /etc/collectd/ ADD entrypoint.sh /entrypoint.sh RUN apt-get update && \ - apt-get install -y wget tar lbzip2 && \ - wget https://collectd.org/files/$COLLECTD_VERSION.tar.bz2 && \ - tar xf $COLLECTD_VERSION.tar.bz2 && \ - rm $COLLECTD_VERSION.tar.bz2 && \ - rm -rf /var/lib/apt/lists/* && \ - ln -s /usr/src/collectd /usr/sbin/collectd && \ - chmod +x /entrypoint.sh + apt-get install -y build-essential wget tar lbzip2 && \ + wget https://collectd.org/files/collectd-$COLLECTD_VERSION.tar.bz2 && \ + tar xf collectd-$COLLECTD_VERSION.tar.bz2 && \ + cd collectd-$COLLECTD_VERSION && \ + ./configure && make && make install && \ + rm -rf /usr/src/collectd-$COLLECTD_VERSION* /var/lib/apt/lists/* ENTRYPOINT ["/entrypoint.sh"] diff --git a/entrypoint.sh b/entrypoint.sh index 196c252..1aa88e5 100755 --- a/entrypoint.sh +++ b/entrypoint.sh @@ -8,7 +8,7 @@ if [ -d /mnt/proc ]; then fi if [ -z "$@" ]; then - exec /usr/sbin/collectd -C /etc/collectd/collectd.conf -f + exec /opt/collectd/sbin/collectd -C /etc/collectd/collectd.conf -f else exec $@ fi From 5a2d84ba9b6fdfc4a4cdcd3172aad0dbbc37ebf9 Mon Sep 17 00:00:00 2001 From: Adam Shannon Date: Tue, 30 Aug 2016 16:58:30 -0500 Subject: [PATCH 3/5] Verify the collectd download --- Dockerfile | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/Dockerfile b/Dockerfile index 764c616..7b46742 100644 --- a/Dockerfile +++ b/Dockerfile @@ -6,9 +6,11 @@ WORKDIR /usr/src/ ADD collectd.conf /etc/collectd/ ADD entrypoint.sh /entrypoint.sh -RUN apt-get update && \ +RUN echo 'ef97838e249814ad96a2edc0410326efbb4f3d08 collectd-5.5.0.tar.bz2' > /tmp/collectd.sig && \ + apt-get update && \ apt-get install -y build-essential wget tar lbzip2 && \ wget https://collectd.org/files/collectd-$COLLECTD_VERSION.tar.bz2 && \ + shasum -a 1 -c /tmp/collectd.sig && \ tar xf collectd-$COLLECTD_VERSION.tar.bz2 && \ cd collectd-$COLLECTD_VERSION && \ ./configure && make && make install && \ From 31945e22c5f90b642278f3fd7b351f5cedfe35f4 Mon Sep 17 00:00:00 2001 From: Adam Shannon Date: Thu, 1 Sep 2016 13:53:29 -0500 Subject: [PATCH 4/5] Remove build-essential --- Dockerfile | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/Dockerfile b/Dockerfile index 7b46742..7f6c4b0 100644 --- a/Dockerfile +++ b/Dockerfile @@ -7,13 +7,17 @@ ADD collectd.conf /etc/collectd/ ADD entrypoint.sh /entrypoint.sh RUN echo 'ef97838e249814ad96a2edc0410326efbb4f3d08 collectd-5.5.0.tar.bz2' > /tmp/collectd.sig && \ - apt-get update && \ - apt-get install -y build-essential wget tar lbzip2 && \ + apt-get update && apt-get install -y build-essential wget tar lbzip2 && \ wget https://collectd.org/files/collectd-$COLLECTD_VERSION.tar.bz2 && \ shasum -a 1 -c /tmp/collectd.sig && \ tar xf collectd-$COLLECTD_VERSION.tar.bz2 && \ cd collectd-$COLLECTD_VERSION && \ - ./configure && make && make install && \ - rm -rf /usr/src/collectd-$COLLECTD_VERSION* /var/lib/apt/lists/* + ./configure && make && make install && cd - \ + rm -rf /usr/src/collectd /usr/src/collectd-$COLLECTD_VERSION* /var/lib/apt/lists/* && \ + apt-get autoremove -y build-essential + +# todo: remove build-essential +# or is it something else? +# just test out in a debian:jessie contianer ENTRYPOINT ["/entrypoint.sh"] From 35f27cc9fc34a0f5813a73678a22029554e7213c Mon Sep 17 00:00:00 2001 From: Adam Shannon Date: Thu, 1 Sep 2016 13:55:26 -0500 Subject: [PATCH 5/5] cleanup comments --- Dockerfile | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/Dockerfile b/Dockerfile index 7f6c4b0..1eb0d0a 100644 --- a/Dockerfile +++ b/Dockerfile @@ -14,10 +14,6 @@ RUN echo 'ef97838e249814ad96a2edc0410326efbb4f3d08 collectd-5.5.0.tar.bz2' > /t cd collectd-$COLLECTD_VERSION && \ ./configure && make && make install && cd - \ rm -rf /usr/src/collectd /usr/src/collectd-$COLLECTD_VERSION* /var/lib/apt/lists/* && \ - apt-get autoremove -y build-essential - -# todo: remove build-essential -# or is it something else? -# just test out in a debian:jessie contianer + apt-get autoremove -y build-essential ENTRYPOINT ["/entrypoint.sh"]