docker 使用 代理 pull 镜像 并 安装 es kibana

由于 要下载 指定版本的 elasticsearch:7.17.1 镜像源 太慢 所以想到 代理

 Docker Proxy 镜像加速

 

vi /etc/docker/daemon.json

新增

"https://dockerproxy.com" 

 

{"registry-mirrors":
[
"https://docker.mirrors.ustc.edu.cn",
"https://cr.console.aliyun.com/",
"https://reg-mirror.qiniu.com",
"https://6kx4zyno.mirror.aliyuncs.com",
"https://docker.mirrors.ustc.edu.cn",
"https://cr.console.aliyun.com/",
"https://reg-mirror.qiniu.com",
"https://hub-mirror.c.163.com/",
"https://dockerproxy.com"
]
}

 

  

重新加载docker的配置文件

 sudo systemctl daemon-reload

重启docker

 sudo systemctl restart docker

 

docker pull dockerproxy.com/library/elasticsearch:7.17.1 

 

 下载速度提升 了 

下载 一个 kibana:7.17.1 

 docker pull dockerproxy.com/library/kibana:7.17.1 

下载 一个  logstash:7.17.1 

docker pull dockerproxy.com/library/logstash:7.17.1 

 都是统一 版本 7.17.1

 

创建文件夹 和 创建文件

mkdir /elasticsearch
mkdir /elasticsearch/config
touch /elasticsearch/config/elasticsearch1.yml
mkdir /elasticsearch/data
mkdir /elasticsearch/logs
mkdir /elasticsearch/plugins
mkdir /elasticsearch/plugins/ik
mkdir /elasticsearch/plugins/sql
chmod -R +777 /elasticsearch

  

启动  elasticsearch

docker run -d --name elasticsearch -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" \
-v /home/admin1/yyx/elasticsearch/sql:/usr/share/elasticsearch/plugins/sql \
-v /home/admin1/yyx/elasticsearch/ik:/usr/share/elasticsearch/plugins/ik -e ES_JAVA_OPTS="-Xms100m -Xmx200m"  dockerproxy.com/library/elasticsearch:7.17.1

 

下面 的是我 又修改的 镜像 为  elasticsearch:7.17.1  

新增 挂载 

-v /home/admin1/yyx/elk/elasticsearch/data:/usr/share/elasticsearch/data  
-v /home/admin1/yyx/elk/elasticsearch/logs:/usr/share/elasticsearch/logs
 
docker run --name elasticsearch -d  -e "discovery.type=single-node" \
-p 9200:9200  \
-p 9300:9300  \
-v /home/admin1/yyx/elk/elasticsearch/config/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml  \
-v /home/admin1/yyx/elk/elasticsearch/data:/usr/share/elasticsearch/data  \
-v /home/admin1/yyx/elk/elasticsearch/plugins:/usr/share/elasticsearch/plugins  \
-v /home/admin1/yyx/elk/elasticsearch/logs:/usr/share/elasticsearch/logs  \
-e ES_JAVA_OPTS="-Xms84m -Xmx512m"  \
elasticsearch:7.17.1 

  

 

 

 elasticsearch.yml 内容

cluster.name: "docker-cluster"
network.host: 0.0.0.0

  

 

下载 ik 插件

https://github.com/medcl/elasticsearch-analysis-ik/releases

 

下载 sql 插件

 https://github.com/NLPchina/elasticsearch-sql/tags

 下载 下来的 拷贝到服务器

 

 

 

启动  kibana:7.17.1

docker run -p 5601:5601 -d -e ELASTICSEARCH_URL=http://192.168.0.176:9200  -e ELASTICSEARCH_HOSTS=http://192.168.0.176:9200 dockerproxy.com/library/kibana:7.17.1

  kibana 需要 与 es 关联  

-e ELASTICSEARCH_URL=http://192.168.0.176:9200
-e ELASTICSEARCH_HOSTS=http://192.168.0.176:9200

 

访问  kibana 

http://192.168.0.176:5601/app/integrations/browse


http://192.168.0.176:5601/app/dev_tools

 

 以上 不够优雅  docker-compose 搞起 

 

eskibanna.yaml

version: "3"
services:
  elasticsearch:
    image: dockerproxy.com/library/elasticsearch:7.17.1
    container_name: elasticsearch
    restart: always
    ports:
      - "9200:9200"
      - "9300:9300"
    volumes:
      - "/home/admin1/yyx/elasticsearch/sql:/usr/share/elasticsearch/plugins/sql"
      - "/home/admin1/yyx/elasticsearch/ik:/usr/share/elasticsearch/plugins/ik"
    environment:
       ES_JAVA_OPTS: "-Xms100m -Xmx200m"     
       discovery.type: single-node
    depends_on:
      - kibana
  kibana:
    image: dockerproxy.com/library/kibana:7.17.1
    container_name: kibana
    restart: always
    ports:
      - "5601:5601"
    environment:
      - ELASTICSEARCH_URL=http://192.168.0.176:9200  
      - ELASTICSEARCH_HOSTS=http://192.168.0.176:9200 

 

启动 

docker-compose -f eskibanna.yaml up -d

 

 

总结 先是代理 下载 es kibanna 然后 编写 docker-compose 容器编排文件  

 es 模式 为 discovery.type: single-node 单例模式 非集群模式

 kibanna 链接  ELASTICSEARCH_URL=http://192.168.0.176:9200    ELASTICSEARCH_HOSTS=http://192.168.0.176:9200

新增 logstash 

新建文件夹 和文件

mkdir logstash
mkdir logstash/log
touch /logstash/kafkalog.conf
touch /logstash/logstash.yml

 

在 elk 之前需要 构建 kafka

mkdir kafka

touch kafka/docker-compose.yaml

 

 

docker-compose.yaml 内容

version: '3'
services:
  kafka:
   image: wurstmeister/kafka
   container_name: kafka
   ports:
     - "9092:9092"
   environment:
     KAFKA_ADVERTISED_HOST_NAME: 192.168.0.173
     KAFKA_ZOOKEEPER_CONNECT: "zoo1:2181"
     KAFKA_BROKER_ID: 1
     KAFKA_OFFSETS_TOPIC_REPLICATION_FACTOR: 1
     KAFKA_CREATE_TOPICS: "stream-in:1:1,stream-out:1:1"
   depends_on:
     - zoo1
    
  zoo1:
    image: wurstmeister/zookeeper
    restart: always
    container_name: zookeeper_kafka
    ulimits:
      nproc: 65535
      nofile:
        soft: 20000
        hard: 40000
    ports:
      - "6181:2181"

 

docker-compose up -d 构建

 

开始构建 logstash 

 kafkalog.conf 内容 

input {
    kafka {      topics => "kafkalog"
      bootstrap_servers => "192.168.0.173:9092" 
      codec => "json" 
            }
}
output {
  elasticsearch {
    hosts => ["192.168.0.173:9200"]
    index => "kafkalog"
    #user => "elastic"
    #password => "changeme"
  }
}

  

logstash.yml 内容

http.host: "0.0.0.0"
xpack.monitoring.elasticsearch.hosts: [ "http://192.168.0.173:9200" ]

docker run 启动

docker run  -it --privileged=true -p 9600:9600  -d   \
-v /home/admin1/yyx/elk/logstash/kafkalog.conf:/usr/share/logstash/pipeline/logstash.conf  \
-v /home/admin1/yyx/elk/logstash/log/:/home/public/   \
-v /home/admin1/yyx/elk/logstash/logstash.yml:/usr/share/logstash/config/logstash.yml logstash:7.17.1

 

docker run 启动 不够优雅 那么 来一个 docker-compose.yaml 吧 一把梭哈

 

 

 

  

 

posted on 2023-09-12 09:30  是水饺不是水饺  阅读(951)  评论(0)    收藏  举报

导航