Docker 安裝 Elasticsearch+kibana

1 下載鏡像

docker pull elasticsearch:7.4.1

docker pull kibana:7.4.1

拉取的鏡像以下:node

2 建立network

建立一個網絡,名字任意取,使得es和kibana在同一個網絡,以便通訊。nginx

docker network create elknet

注:docker network create  使用說明docker

3 配置參數

修改elasticsearch用戶擁有的內存權限跨域

sysctl -w vm.max_map_count=262144 && grep vm.max_map_count /etc/sysctl.conf

4 啓動建立容器

docker run [OPTIONS] IMAGE [COMMAND] [ARG...] OPTIONS說明: • -a stdin: 指定標準輸入輸出內容類型,可選 STDIN/STDOUT/STDERR 三項; • -d: 後臺運行容器,並返回容器ID; • -i: 以交互模式運行容器,一般與 -t 同時使用; • -P: 隨機端口映射,容器內部端口隨機映射到主機的高端口 • -p: 指定端口映射,格式爲:主機(宿主)端口:容器端口 • -t: 爲容器從新分配一個僞輸入終端,一般與 -i 同時使用; • --name="nginx-lb": 爲容器指定一個名稱; • --dns 8.8.8.8: 指定容器使用的DNS服務器,默認和宿主一致; • --dns-search example.com: 指定容器DNS搜索域名,默認和宿主一致; • -h "mars": 指定容器的hostname; • -e username="ritchie": 設置環境變量; • --env-file=[]: 從指定文件讀入環境變量; • --cpuset="0-2" or --cpuset="0,1,2": 綁定容器到指定CPU運行; • -m :設置容器使用內存最大值; • --net="bridge": 指定容器的網絡鏈接類型,支持 bridge/host/none/container: 四種類型; • --link=[]: 添加連接到另外一個容器; • --expose=[]: 開放一個端口或一組端口; --volume , -v: 綁定一個卷

4.1 啓動建立es

docker run -d --name=elasticsearch --net elknet -p 9200:9200 -p 9300:9300 -e ES_JAVA_OPTS="-Xms512m -Xmx512m" -e "discovery.type=single-node" -e http.cors.enabled=true -e http.cors.allow-origin="*" -e http.cors.allow-headers=X-Requested-With,X-Auth-Token,Content-Type,Content-Length,Authorization -e http.cors.allow-credentials=true elasticsearch:7.4.1

啓動結果以下bash

4.2 啓動建立kibina

docker run --name kibana --link elasticsearch:elasticsearch --net elknet -p 5601:5601 -d kibana:7.4.1

啓動結果以下服務器

5 修改es配置

docker exec :在運行的容器中執行命令 語法 docker exec [OPTIONS] CONTAINER COMMAND [ARG...] OPTIONS說明: -d :分離模式: 在後臺運行 -i :即便沒有附加也保持STDIN 打開 -t :分配一個僞終端

5.1 進入容器

docker exec -it elasticsearch /bin/bash

5.2 進行配置

vi /usr/share/elasticsearch/config/elasticsearch.yml # 加入跨域配置 http.cors.enabled: true http.cors.allow-origin: "*"

5.3 重啓容器

docker restart elasticsearch
相關文章
相關標籤/搜索