Skip to content

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

Notifications You must be signed in to change notification settings

jmb12686/docker-elasticsearch

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

18 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

docker-elasticsearch

Latest Version Build Status Docker Stars Docker Pulls

Containerized, multiarch version of Elasticsearch. 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 -e "ES_JAVA_OPTS=-Xmx256m -Xms256m" -e "discovery.type=single-node" -v ${PWD}/config/example/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml jmb12686/elasticsearch

Run with with Compose on Docker Swarm:

version: "3.7"
services:
  elasticsearch:
    image: jmb12686/elasticsearch
    configs:
      - source: elastic_config
        target: /usr/share/elasticsearch/config/elasticsearch.yml
    volumes:
      - elasticsearch-data:/usr/share/elasticsearch/data
    environment:
      ES_JAVA_OPTS: "-Xmx256m -Xms256m"
      ELASTIC_PASSWORD: changeme
      discovery.type: single-node
    networks:
      - elk
    deploy:
      mode: replicated
      replicas: 1
      resources:
        limits:
          memory: 1024M
        reservations:
            memory: 1024M
configs:
  elastic_config:
    name: elastic_config-${CONFIG_VERSION:-0}
    file: ./elasticsearch/config/elasticsearch.yml
networks:
  elk:
    driver: overlay

volumes:
  filebeat: {}
  elasticsearch-data: {}

How to manually build

Build using buildx for multiarchitecture image and manifest v2 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/elasticsearch:latest --push .