ElasticsearchとKibanaのバージョン指定の検証環境をDockerで立ち上げる

同じこと調べるの3度目だったので、将来の自分のための作業メモ残しておきます。

準備

適当なディレクトリ作って移動。

mkdir es
cd es/

設定

とりあえず、ローカルマシンでのちょろっとテストで使う設定は以下くらい。

cat <<EOF > .env
STACK_VERSION=7.3.1
JVM_XMS=512m
JVM_XMX=512m
EOF

利用可能なバージョンは以下をブラウザで参照するか、

[https://hub.docker.com//elasticsearch?tab=tags] [https://hub.docker.com//kibana?tab=tags]

以下のコマンドを実行。

curl -s https://registry.hub.docker.com/v1/repositories/elasticsearch/tags | jq '.[].name'
curl -s https://registry.hub.docker.com/v1/repositories/kibana/tags | jq '.[].name'

docker-composeファイル

以下のように準備。

cat <<EOF > docker-compose.yaml
version: '3'
services:
  es01:
    image: docker.elastic.co/elasticsearch/elasticsearch:\${STACK_VERSION}
    container_name: es01
    environment:
      - discovery.type=single-node
      - bootstrap.memory_lock=true # along with the memlock settings below, disables swapping
      - "ES_JAVA_OPTS=-Xms\${JVM_XMS} -Xmx\${JVM_XMX}" # minimum and maximum Java heap size, recommend setting both to 50% of system RAM
    ulimits:
      memlock:
        soft: -1
        hard: -1
    ports:
      - 9200:9200
    volumes:
      - esdata01:/usr/share/elasticsearch/data
    networks:
      - es-net
  kibana:
    image: docker.elastic.co/kibana/kibana:\${STACK_VERSION}
    container_name: kibana
    ports:
      - 5601:5601
    expose:
      - "5601"
    environment:
      ELASTICSEARCH_HOSTS: http://es01:9200
    networks:
      - es-net

volumes:
  esdata01:
    driver: local

networks:
  es-net:
EOF

後は起動するだけ

docker-compose up -d
docker-compose logs -f

Kibanaにアクセス

アクセスします。

http://localhost:5601/app/kibana

f:id:yomon8:20190831163124p:plain

参考

www.elastic.co

www.elastic.co