docker 使用 代理 pull 镜像 并 安装 es kibana
由于 要下载 指定版本的 elasticsearch:7.17.1 镜像源 太慢 所以想到 代理
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

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 吧 一把梭哈
浙公网安备 33010602011771号