Dockerfile+docker-composeインストールes+ik+kibana 6.4.2
9046 ワード
docker-composeのインストール
1.githubでdocker composeを検索し、適切なバージョンを選択してダウンロードする
2.名前変更の移動と実行権限の付与
3.環境変数の構成
4.テスト
インストールディレクトリの準備
準備esのDockerfile
a.カスタム辞書の準備
b.ik分詞のダウンロード
c.docker esのconfigフォルダをホストにコピーする
コンテナの起動に失敗した場合はdocker logs es_を使用します.temp-fログの表示
私が出会った1つのエラー[1]:max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]
割り当てられた仮想メモリmax_map_countが低すぎる場合sudo sysctl-w vmを一時的に変更する.max_map_count=262144 sudo vim/etc/sysctlを永久に変更する.confにvmを付ける.max_map_count=262144保存終了しsudo sysctl-pで有効にする
d.Dockerfileの作成
kibana
a.ホストホストでプロファイルを準備する
docker-compose
a.docker-composeファイルの作成
保存終了
b.起動容器
コンテナのステータスの表示
kibanaへのアクセス:http://127.0.0.1:5601
1.githubでdocker composeを検索し、適切なバージョンを選択してダウンロードする
wget 'https://github.com/docker/compose/releases/download/1.27.4/docker-compose-Linux-x86_64'
2.名前変更の移動と実行権限の付与
mv docker-compose-Linux-x86_64 /usr/local/bin/docker-compose
chmod 777 /usr/local/bin/docker-compose
3.環境変数の構成
vim /etc/profile
# PATH /usr/local/bin
#
source /etc/profile
4.テスト
docker-compose
インストールディレクトリの準備
sudo mkdir -p /opt/docker/elk /opt/docker/es /opt/docker/kibana
chmod 777 /opt/docker/elk /opt/docker/es /opt/docker/kibana
準備esのDockerfile
a.カスタム辞書の準備
cd /opt/docker/es && mkdir dic && cd /opt/docker/es/dic
#
sudo vim custom_dict.dic
b.ik分詞のダウンロード
#
sudo mkdir -p /opt/docker/es/plugins/ik
cd /opt/docker/es/plugins/ik
# github ik es、kibana
wget "https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v6.4.2/elasticsearch-analysis-ik-6.4.2.zip"
#
unzip elasticsearch-analysis-ik-6.4.2.zip
# (docker es)
sudo vim /opt/docker/es/plugins/ik/config/IKAnalyzer.cfg.xml
<entry key="ext_dict">/usr/share/elasticsearch/dic/custom_dict.dicentry>
c.docker esのconfigフォルダをホストにコピーする
# es
docker run -d --name es_temp -p 9200:9200 -p 9300:9300 elasticsearch:6.4.2
# , id
docker ps
# es config
sudo docker cp id:/usr/share/elasticsearch/config /opt/docker/es/
# 、 、
docker stop es_temp
docker rm es_temp
docker rmi elasticsearch:6.4.2
コンテナの起動に失敗した場合はdocker logs es_を使用します.temp-fログの表示
私が出会った1つのエラー[1]:max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]
割り当てられた仮想メモリmax_map_countが低すぎる場合sudo sysctl-w vmを一時的に変更する.max_map_count=262144 sudo vim/etc/sysctlを永久に変更する.confにvmを付ける.max_map_count=262144保存終了しsudo sysctl-pで有効にする
d.Dockerfileの作成
sudo vim /opt/docker/es/Dockerfile
from elasticsearch:6.4.2
# ik
copy ./plugins/ /usr/share/elasticsearch/plugins/
kibana
a.ホストホストでプロファイルを準備する
sudo mkdir -p /opt/docker/kibana/config && cd /opt/docker/kibana/config/
sudo vim /opt/docker/kibana/config/kibana.yml
# Default Kibana configuration for docker target
server.name: kibana
server.host: "0"
# ip es ip, ip
elasticsearch.url: "http://172.20.0.5:9200"
xpack.monitoring.ui.container.elasticsearch.enabled: false
elasticsearch.ssl.verificationMode: none
docker-compose
a.docker-composeファイルの作成
sudo vim /opt/docker/elk/docker-compose.yml
version: '3.7'
services:
kibana:
restart: always
logging:
driver: "json-file"
options:
max-size: "100m"
max-file: "2"
image: kibana:6.4.2
container_name: kibana6
networks:
elk_net: #
ports:
- 5601:5601
volumes:
- /opt/docker/kibana/config:/usr/share/kibana/config/ # kibana
es:
restart: always
build:
context: ../es/ # Dockerfile
dockerfile: Dockerfile # Dockerfile
container_name: es6
networks:
elk_net: #
ipv4_address: "172.20.0.5" # ip
ports:
- 9300:9300
- 9200:9200
volumes:
- /opt/docker/es/config/:/usr/share/elasticsearch/config/ # es
- /opt/docker/es/dic/:/usr/share/elasticsearch/dic/ #
- /opt/docker/es/plugins/ik/config/IKAnalyzer.cfg.xml:/usr/share/elasticsearch/plugins/ik/config/IKAnalyzer.cfg.xml # ik
networks: #
elk_net:
ipam:
config:
- subnet: 172.20.0.0/16
gateway: 172.20.0.1
保存終了
b.起動容器
cd /opt/docker/elk
sudo docker-compose up -d
コンテナのステータスの表示
docker ps -a
kibanaへのアクセス:http://127.0.0.1:5601