docker elasticsearch with kibana

docker-compose.yml

version: "2"
services:
  elasticsearch:
    image: docker.elastic.co/elasticsearch/elasticsearch:7.6.0
    container_name: elasticsearch
    environment:
      - discovery.type=single-node
      - cluster.name=elastic
    volumes:
      - ./data:/usr/share/elasticsearch/data
    ports:
      - 9200:9200
  kibana:
    image: docker.elastic.co/kibana/kibana:7.6.0
    container_name: kibana
    ports:
      - 5601:5601
docker-compose up

Make sure that: you are running commend in a folder with docker-compose.yml and data dir

Foreground stateless

docker run -it --rm --name=elasticsearch -p 9200:9200 -e "discovery.type=single-node" -e "cluster.name=elastic" docker.elastic.co/elasticsearch/elasticsearch:7.6.0

docker run -it --rm --name=kibana -p 5601:5601 --link elasticsearch docker.elastic.co/kibana/kibana:7.6.0

Background statefull

docker run -d --restart=always --name=elasticsearch -p 9200:9200 -e "discovery.type=single-node" -e "cluster.name=elastic" -v D:/OneDrive/Desktop/es7/data:/usr/share/elasticsearch/data docker.elastic.co/elasticsearch/elasticsearch:7.6.0

docker run -d --restart=always --name=kibana -p 5601:5601 --link elasticsearch docker.elastic.co/kibana/kibana:7.6.0

Do not forget to change volume path in first command

Logs

docker logs elasticsearch -f
docker logs kibana -f

Cleanup

docker stop elasticsearch
docker stop kibana
docker rm elasticsearch
docker rm kibana

Versions

  • 6.5.4 - cloud.elastic
  • 7.6.0 - colocall.com

Run second 7.x elastic side by side with first 6.x on same VM

In our case we had elasticsearch 6.x on 192.168.5.101 and decided to run 7.x side by side for experiments, to do so:

sudo mkdir /es760_data
sudo chmod g+w /es760_data

docker run -d --restart=always --name=es760 -p 9760:9200 -e "discovery.type=single-node" -e "cluster.name=es760" -v /es760_data:/usr/share/elasticsearch/data docker.elastic.co/elasticsearch/elasticsearch:7.6.0

docker run -d --restart=always --name=kibana760 -p 5760:5601 --link es760:elasticsearch docker.elastic.co/kibana/kibana:7.6.0

Making data directory and changing its permission is vm specific here, the main point is to change names and ports for everything to work