# Description: Dockerfile for testing installation of InfluxDB and clients on Ubuntu. # Example build command: # docker buildx build -t influxdatadocs/oss-ubuntu --file test/Dockerfile.test-oss.ubuntu . # Example run command--logs are stored in the volume `influxdatadocs-oss-ubuntu-log`: # docker run --rm --mount type=volume,src=influxdatadocs-oss-ubuntu-log,dst=/var/log/ influxdatadocs/oss-ubuntu FROM ubuntu:latest AS influxdb LABEL name="test-oss-ubuntu" LABEL description="InfluxData Docs Test OSS install on Ubuntu" LABEL "com.influxdata.docs"="https://docs.influxdata.com/influxdb/v2/install/?t=Linux" # Install gnupg2 and curl to verify client installs. RUN apt-get update && apt-get install -y gnupg2 curl # Install InfluxDB keys to verify client installs. RUN curl --silent --location -O \ https://repos.influxdata.com/influxdata-archive.key \ && gpg --homedir $(mktemp -d) --show-keys --with-fingerprint --with-colons ./influxdata-archive.key 2>&1 \ | grep -q '^fpr:\+24C975CBA61A024EE1B631787C3D57159FC2F927:$' \ && cat influxdata-archive.key \ | gpg --dearmor \ | tee /etc/apt/trusted.gpg.d/influxdata-archive.gpg > /dev/null \ && echo 'deb [signed-by=/etc/apt/trusted.gpg.d/influxdata-archive.gpg] https://repos.influxdata.com/debian stable main' \ | tee /etc/apt/sources.list.d/influxdata.list # Install InfluxDB and clients to use in tests. # Follow the Telegraf install instructions (https://docs.influxdata.com/telegraf/v1/install/?t=curl), except for sudo (which isn't available in Docker). RUN apt-get update && apt-get install -y \ influxdb2 \ influxdb2-cli \ telegraf ENTRYPOINT ["/bin/bash"] # Run InfluxDB in the background, wait for it to start, and then test Telegraf. CMD ["-c", "echo $(telegraf version) && echo $(influxd version) && echo $(influx version)", "influxd > /var/log/influxd.log 2>&1 & while ! curl -s http://localhost:8086/health | grep -q '\"status\":\"pass\"'; do sleep 1; done; telegraf --config /etc/telegraf/telegraf.conf --test"]