Docker 安装 Elasticsearch+kibana

1 下载镜像

docker pull elasticsearch:7.4.1

docker pull kibana:7.4.1

拉取的镜像如下:

2 创建network

创建一个网络,名字任意取,使得es和kibana在同一个网络,以便通信。

docker network create elknet

注:docker network create  使用说明

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

启动结果如下

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

猜你喜欢

转载自www.cnblogs.com/keh123000/p/12240221.html