elasticsearch
Create a new docker network.
docker network create elastic
拉取镜像
docker pull elasticsearch:8.6.2
or
docker pull docker.elastic.co/elasticsearch/elasticsearch:8.11.1
8.14.3
docker run -d --name elasticsearch --net elastic -e ES_JAVA_OPTS="-Xms512m -Xmx512m" -e "discovery.type=single-node" \
-p 9200:9200 -p 9300:9300 \
-v /usr/local/docker/elasticsearch/8.14.3/plugins:/usr/share/elasticsearch/plugins \
-v /usr/local/docker/elasticsearch/8.14.3/config:/usr/share/elasticsearch/config 7a6696851b5f
docker run -d --name elasticsearch --net elastic -e ES_JAVA_OPTS="-Xms512m -Xmx512m" -e "discovery.type=single-node" -p 9200:9200 -p 9300:9300 7a6696851b5f -v /usr/local/docker/elasticsearch/8.14.3/plugins:/usr/share/elasticsearch/plugins -v /usr/local/docker/elasticsearch/8.14.3/config:/usr/share/elasticsearch/config \
ES_JAVA_OPTS="-Xms128m -Xmx128m"
设置内存大小
discovery.type=single-node
单机模式
-e :
设置网络
根据上面的命令直接启动,可能会启动后没多久就自动关闭了,因为上面挂载了文件,找不到一些配置文件,需要我们先随便启动一个es容器,把容器内的配置文件像复制到我们宿主指定文件内;然后把这个容器删掉,重新启动一个
docker cp eee1b3c8372f:/usr/share/elasticsearch/config/. /usr/local/docker/elasticsearch/config/
然后再用上面的启动命令,就可以了
访问elasticsearch 后台页面:
elasticsearch无法访问ip:9200:
1.进入容器 docker exec -it 容器id /bin/bash 如果需要进去容器提示没有权限也可以使用
docker exec -it --user='root' 容器id /bin/bash
2.进入/usr/share/elasticsearch/config
目录 修改elasticsearch.yml
vim elasticsearch.yml
如果提示没有vi
或者vim
,那么可以输入
apt-get update
apt-get install vim
如果遇到容器内部提示没有权限:
E: List directory /var/lib/apt/lists/partial is missing. - Acquire (13: Permission denied)
把进入容器命令用:docker exec -u 0 -it eee1b3c8372f /bin/bash
然后再容器中输入:
apt-get update
apt-get install vim
把xpack.security.enabled: false
改成 false
重启容器
docker restart 容器id
新版本8.14.3提示需要token
进入容器内部
输入命令
bin\elasticsearch-create-enrollment-token.bat --scope kibana
输入
elasticsearch-create-enrollment-token --scope kibana
elasticsearch-create-enrollment-token --scope kibana
报错
java.security.cert.CertificateException: No subject alternative names matching IP address 172.17.0.8 found
bin\kibana-verification-code.bat
kibana-verification-code
#关闭csp
csp.strict: false
#设置中文
i18n.locale: “zh-CN”
kibana
docker pull kibana:8.6.2
or
docker pull docker.elastic.co/kibana/kibana:8.11.1
启动容器
docker run --name kibana-8.6.2 --net elastic -d -p 5601:5601 kibana:8.6.2
上面没有挂在配置文件:需要挂载的话:可以先启动一个空的容器,把容器里面的配置复制到我们宿主上
docker run -d --name kibana8.14.3 -p 5601:5601 6f3410f8626d
docker cp 3e7890e009a8:/usr/share/kibana/config /usr/local/docker/kibana/config/
// 最终完整启动
docker run -d --name kibana8.14.3 --network elastic -p 5601:5601 -v /usr/local/docker/kibana/data:/usr/share/kibana/data -v /usr/local/docker/kibana/config:/usr/share/kibana/config 6f3410f8626d
// 最终完整启动 2024年7月25日13:40:22
docker run -d --name kibana8.14.3 -p 5601:5601 --network elastic -v /usr/local/docker/kibana/config:/usr/share/kibana/config 6f3410f8626d
访问后台地址
http://192.168.170.130:5601/
查看es连接上kibana了没 :
ip:9200/.kibana
docker elasticsearch 8.6.2 添加ik 8.6.1插件之后重启失败
把下载的ik分词插件复制到容器的plugins文件中,
docker cp ik/ 070e30b37156:/usr/share/elasticsearch/plugins/
修改ik文件中的plugin-descriptor.properties
把文件中的version改为你的elasticsearch的版本
或者复制到容器前,提前修改在复制到容器中也可以
重启容器,就不会启动失败了
docker restart 容器id
启动kibana 8.4.13报错
root@waper97-VMware-Virtual-Platform:/var/lib/docker/overlay2# docker run -d --name kibana8.14.3 -p 5601:5601 6f3410f8626d
docker: Error response from daemon: error creating overlay mount to /var/lib/docker/overlay2/5313b56bd92e757376eeed29f2c123eedd3cdc6f690d6ba1a806730cd59bf1d1-init/merged: too many levels of symbolic links.
重启docker解决的hh
[2024-07-16T03:56:00.616+00:00][FATAL][root] Reason: Unable to write to UUID file at /usr/share/kibana/data/uuid. Ensure Kibana has sufficient permissions to read / write to this file. Error was: EACCES
Error: Unable to write to UUID file at /usr/share/kibana/data/uuid. Ensure Kibana has sufficient permissions to read / write to this file. Error was: EACCES
at writeUuidToFile (/usr/share/kibana/node_modules/@kbn/core-environment-server-internal/src/resolve_uuid.js:93:11)
at resolveInstanceUuid (/usr/share/kibana/node_modules/@kbn/core-environment-server-internal/src/resolve_uuid.js:55:5)
at EnvironmentService.preboot (/usr/share/kibana/node_modules/@kbn/core-environment-server-internal/src/environment_service.js:66:17)
at Server.preboot (/usr/share/kibana/node_modules/@kbn/core-root-server-internal/src/server.js:155:32)
at Root.preboot (/usr/share/kibana/node_modules/@kbn/core-root-server-internal/src/root/index.js:47:14)
at bootstrap (/usr/share/kibana/node_modules/@kbn/core-root-server-internal/src/bootstrap.js:95:29)
at Command.<anonymous> (/usr/share/kibana/src/cli/serve/serve.js:242:5)
原因是挂载的kibana config目录未授权,对其进行授权即可。
logstash
同样的启动容器 复制配置文件到宿主:
docker cp d23d53cdc85d835c53880fcf855cd0ec001605f7e61c7d9e07f90f3301f77053:/usr/share/logstash/config .
授权
chmod -R 777 /usr/local/docker/logstash
docker run --name logstash -itd docker.elastic.co/logstash/logstash:8.13.4
最终
docker run -d --name logstash -p 9600:9600 -p 5044:5044 --net elastic --privileged=true \
-v /usr/local/docker/logstash/pipeline:/usr/share/logstash/pipeline \
-v /usr/local/docker/logstash/config:/usr/share/logstash/config e98144fd7d13