/docker-kibana

Multi-architecture (arm, x86) Docker image for Kibana

Primary LanguageDockerfile

docker-kibana

Latest Version Build Status Docker Stars Docker Pulls

Containerized, multiarch version of Kibana. Designed to be usable within x86-64, armv6, and armv7 based Docker Swarm clusters. Compatible with all Raspberry Pi models (armv6 + armv7).

Usage

Run on a single Docker engine node:

sudo docker run --rm -p 5601:5601 \
  -v ${PWD}/config/example/kibana.yml:/opt/kibana/config/kibana.yml \
  jmb12686/kibana

Run with with Compose on Docker Swarm:

version: "3.7"
services:
  kibana:
    image: jmb12686/kibana
    ports:
      - 5601:5601
    configs:
      - source: kibana_config
        target: /opt/kibana/config/kibana.yml
    networks:
      - elk
    deploy:
      mode: replicated
      replicas: 1
      resources:
        limits:
          memory: 1024M
        reservations:
            memory: 1024M
configs:
  kibana_config:
    name: kibana_config-${CONFIG_VERSION:-0}
    file: ./kibana/config/kibana.yml
networks:
  elk:
    driver: overlay

TODO Errors

When navigating to the 'Discovery' tab, receive following error in UI:

No indices match pattern "apm-*"

This may be resolved simply by adding configuration in filebeat to setup index template on startup

TODO Fixes

  1. Tweak the apt install blocks. I had to break them apart while debugging hanging build.

  2. Break the dockerfile into multistage build, push builder stage as described here: https://pythonspeed.com/articles/faster-multi-stage-builds/

How to Build

Build using buildx for multiarchitecture image and manifest support

Setup buildx

docker buildx create --name multiarchbuilder
docker buildx use multiarchbuilder
docker buildx inspect --bootstrap
[+] Building 0.0s (1/1) FINISHED
 => [internal] booting buildkit                                                                                                                 5.7s
 => => pulling image moby/buildkit:buildx-stable-1                                                                                              4.6s
 => => creating container buildx_buildkit_multiarchbuilder0                                                                                     1.1s
Name:   multiarchbuilder
Driver: docker-container

Nodes:
Name:      multiarchbuilder0
Endpoint:  npipe:////./pipe/docker_engine
Status:    running
Platforms: linux/amd64, linux/arm64, linux/ppc64le, linux/s390x, linux/386, linux/arm/v7, linux/arm/v6

Build

docker buildx build --platform linux/arm,linux/amd64 -t jmb12686/kibana:latest --push .