title: How to bundle elasticsearch templates with docker image?
body: <p>Im currently building a custom docker image to be used for integration test. My requirement is to set it up with custom configuration with default ingester pipeline and template mappings.</p>
  
  <p>Dockerfile:</p>
  
  <pre><code>FROM docker.elastic.co/elasticsearch/elasticsearch:5.6.2
  ADD config /usr/share/elasticsearch/config/
  USER root
  RUN chown -R elasticsearch:elasticsearch config
  RUN chmod +x config/setup.sh
  USER elasticsearch
  RUN elasticsearch-plugin remove x-pack
  EXPOSE 9200
  EXPOSE 9300
  </code></pre>
  
  <p>where <em>config</em> is a directory which contains:</p>
  
  <pre><code>&gt; elasticsearch.yml  for the configuration
  &gt; templates in the form of json files
  &gt; setup.sh - script which executes curl to es in order to register pipelines to _ingester and template mappings
  </code></pre>
  
  <p>The setup script looks like this:</p>
  
  <pre><code>#!/bin/bash
  # This script sets up the es5 docker instance with the correct pipelines and templates
  
  baseUrl='127.0.0.1:9200'
  contentType='Content-Type:application/json'
  
  
  # filebeat
  filebeatUrl=$baseUrl'/_ingest/pipeline/filebeat-pipeline?pretty'
  filebeatPayload='@pipeline/filebeat-pipeline.json'
  
  echo 'setting filebeat pipeline...'
  filebeatResult=$(curl -XPUT $filebeatUrl -H$contentType -d$filebeatPayload)
  echo -e "filebeat pipeline setup result: \n$filebeatResult"
  
  # template
  echo -e "\n\nsetting up templates..."
  sleep 1
  
  cd template
  for f in *.json
  do
      templateName="${f%.*}"
      templateUrl=$baseUrl'/_template/'$templateName
  
      echo -e "\ncreating index template for $templateName..."
      templateResult=$(curl -XPUT $templateUrl -H$contentType -d@$f)
      echo -e "$templateName result: $templateResult"
      sleep 1
  done
  
  echo -e "\n\n\nCompleted ES5 Setup, refer to logs for details"
  </code></pre>
  
  <p>How do i build and run the image in such a way that the script gets executed AFTER elastic is up and running?</p>