I've added demo docker stack my github. For this stack I've set my memory allocation for Docker to 8gb because ElasticSearch is using a significant amount of memory. Initially I had it set to 2gb but ElasticSearch does not even start! You can try 4gb first and see.
Anyway, included in the stack are the ff.:
- ElasticSearch 5.6.1 (official one with xpack disabled)
- Kibana 5.6.1 (disabled xpack and created a custom image)
- Sample SpringBoot microservice
- MongoDB - latest
- Portainer - latest
Download the compose file in my [github] (https://github.com/donvito/dockerstack/blob/master/demo-project-stack.yml) repo.
version: "3.1" services: elasticsearch: image: 'docker.elastic.co/elasticsearch/elasticsearch:5.6.1' ports: - "9200:9200" - "9300:9300" volumes: - elasticdata:/usr/share/elasticsearch/data networks: - backend deploy: replicas: 1 environment: - xpack.security.enabled=false kibana: image: 'melvindave/kibana:5.6.1' ports: - "5601:5601" networks: - backend depends_on: - elasticsearch deploy: replicas: 1 portainer: image: portainer/portainer ports: - 9000:9000 volumes: - "/var/run/docker.sock:/var/run/docker.sock" - "portainerdata:/data" networks: - frontend deploy: placement: constraints: [node.role == manager] ms1: image: melvindave/spring-boot-example ports: - "8080:8080" networks: - backend depends_on: - mongodb deploy: replicas: 1 mongodb: image: mongo ports: - "27017:27017" volumes: - "mongodata:/data/db" networks: - backend deploy: replicas: 1 networks: frontend: backend: volumes: mongodata: portainerdata:
I had to build a custom docker image of Kibana based on the official one due to this bug. The workaround was to remove xpack to disable authentication. I tried to add this for Kibana but it didn't work. It did work for ElasticSearch though.
Just do a
docker pull melvindave/kibana if you want to try it out. Otherwise, you can use the docker compose definition.
You can copy the updated compose file from my github repo.