Docker 运行ElasticSearch7.17.1笔记
一、环境相关1、docker安装相关查询仓库内容yum repolist all # 显示所有资源库 yum repolist enabled # 显示所有已启动的资源库 yum repolist disabled # 显示所有被禁用的资源库2、设置镜像#正确推荐使用国内的yum-config-manager --add-repo http://mirrors.aliyun.com/docker•
一、环境相关
1、docker安装相关
查询仓库内容
yum repolist all # 显示所有资源库 yum repolist enabled # 显示所有已启动的资源库 yum repolist disabled # 显示所有被禁用的资源库
2、设置镜像
#正确推荐使用国内的 yum-config-manager --add-repo http://mirrors.aliyun.com/docker•ce/linux/centos/docker-ce.repo #更新yum软件包索引安装 yum makecache fast1 #安装 Docker yum install docker-ce docker-ce-cli containerd.
3、启动docker,运行,测试,查看镜像
[root@lysw /]# systemctl start docker [root@lysw /]# docker run hello-world Hello from Docker! This message shows that your installation appears to be working correctly. .... [root@lysw /]# docker images REPOSITORY TAG IMAGE ID CREATED SIZE tomcat latest 7a287e4562ea 2 weeks ago 680MB nginx latest c919045c4c2b 2 weeks ago 142MB elasticsearch 8.0.1 620a7a6cd294 3 weeks ago 1.2GB hello-world latest feb5d9fea6a5 5 months ago 13.3kB centos latest 5d0da3dc9764 6 months ago 231MB
# 运行命令 docker run [OPTIONS] IMAGE [COMMAND][ARG...] # 常用参数说明 --name="Name" # 给容器指定一个名字 -d # 后台方式运行容器,并返回容器的id! -i # 以交互模式运行容器,通过和 -t 一起使用 -t # 给容器重新分配一个终端,通常和 -i 一起使用 -P # 随机端口映射(大写) -p # 指定端口映射(小结),一般可以有四种写法 ip:hostPort:containerPort ip::containerPort hostPort:containerPort (常用) containerPort
二、elasticsearch安装相关
ELK 8 加入了好多安全,学起来很麻烦,改用 7.17.1
1、下载镜像
docker pull elasticsearch:7.17.1
2、运行elasticSearch
[root@lysw /]# docker images REPOSITORY TAG IMAGE ID CREATED SIZE elasticsearch 7.17.1 b9fc6ca9dc52 2 weeks ago 1.22GB tomcat latest 7a287e4562ea 2 weeks ago 680MB nginx latest c919045c4c2b 2 weeks ago 142MB hello-world latest feb5d9fea6a5 5 months ago 13.3kB exit # 容器停止退出 ctrl+P+Q # 容器不停止 docker rimi images # 删除镜像
3、x限定内存大小
docker run -d --name ES7 -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" -e ES_JAVA_OPTS="-Xms64m -Xmx512m" elasticsearch:7.17.1
3、ES目录说明
bin:启动文件 config:配置文件 log4j2.properties:日志配置文件 jvm.options:java虚拟机的配置 elasticsearch.yml:es的配置文件 data:索引数据目录 lib:相关类库Jar包 logs:日志目录 modules:功能模块 plugins:插件
4、删除容器
docker rm 50f5dae7b3f9 退出容器启动停止容器删除容器exit # 容器停止退出 ctrl+P+Q # 容器不停止退出12 docker start (容器id or 容器名) # 启动容器 docker restart (容器id or 容器名) # 重启容器 docker stop (容器id or 容器名) # 停止容器 docker kill (容器id or 容器名) # 强制停止容器1234 docker rm 容器id # 删除指定容器 docker rm -f $(docker ps -a -q) # 删除所有容器 docker ps -a -q|xargs docker rm # 删除所有容器1
5、进入正在运行的容器
# 命令1docker exec -it 容器id bashShe [root@lysw vm]# docker exec -it elasticsearch /bin/bash elasticsearch@a5b8e527549e:~$ elasticsearch@a5b8e527549e:~$ vi config/elasticsearch.yml
# 开启端口开端口命令: firewall-cmd --zone=public --add-port=9200/tcp --permanent 重启防火墙: systemctl restart firewalld.servi
6、从容器里面拷文件到宿主机
docker cp 容器名:要拷贝的文件在容器里面的路径 要拷贝到宿主机的相应路径 root@sz-H81U:/home/sz# docker cp -a fe5282e395eb:/demo_ws/ /home/sz/code/ root@sz-H81U:/home/sz# cd code/ root@sz-H81U:/home/sz/code# ls a.txt demo_ws
7、从宿主机拷文件到容器里面
docker cp 要拷贝的文件路径 容器名:要拷贝到容器里面对应的路径 root@sz-H81U:/home/sz/code# docker cp a.txt 47683ef9b01e:/demo_ws/a.txt
8、数据持久化 参数 -v
使用本地配置文件,数据放在本地 ,有问题,有待进一步验证
-v /mydata/elasticsearch/config/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml -v /mydata/elasticsearch/data:/usr/share/elasticsearch/data docker run -d --name elasticsearch -p 9200:9200 -p 9300:9300 -v /mydata/elasticsearch/config/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml -e "discovery.type=single-node" -e ES_JAVA_OPTS="-Xms64m -Xmx512m" elasticsearch:8.1.0
三、kibana的安装
1、下载镜像
[root@lysw elasticsearch]# docker pull kibana:7.11.1
注意要和elasticsearch本部一致
2、运行镜像
docker run --name kibana -d --link elasticsearch -p 5601:5601 kibana:7.17.1 #与ES建立关联通过 --link
Kibana can be accessed by browser via http://localhost:5601 or http://host-ip:5601 #测试运行
kibana汉化 kibana.yml 添加:
i18n.locale: zh-CN
【注意,Kibana的汉化没有做得很彻底,部分界面文字仍旧会是英文】
相关配置,安装,这个文档docker安装elasticsearch(最详细版)_Bright1668的博客-CSDN博客_docker安装elasticsearch
四、遇到的坑ES8.1.0:
1、问题:Empty reply from server
[root@lysw vm]# curl 127.0.0.1:9200 curl: (52) Empty reply from server
解决方法:
参考:安装elasticsearch8.0.1之后无法访问9200:Empty reply from server_Tony 西塔纳的博客-CSDN博客
##进入容器,修改elasticsearch.yml [root@lysw config]# docker exec -it d31948cd75ef /bin/bash elasticsearch@d31948cd75ef:~$ vi config/elasticsearch.yml 将其中的 xpack.security.enabled: true #修改为,其他不要动,否则ES容器直接启动不了了 xpack.security.enabled: false 问题:使用外部配置文件,暂时无法启动
[root@lysw ~]# curl localhost:9200 { "name" : "b34422a82861", "cluster_name" : "docker-cluster", "cluster_uuid" : "D-HStdfcQd-QWHXLvwqZIA", "version" : { "number" : "8.1.0", "build_flavor" : "default", "build_type" : "docker", "build_hash" : "3700f7679f7d95e36da0b43762189bab189bc53a", "build_date" : "2022-03-03T14:20:00.690422633Z", "build_snapshot" : false, "lucene_version" : "9.0.0", "minimum_wire_compatibility_version" : "7.17.0", "minimum_index_compatibility_version" : "7.0.0" }, "tagline" : "You Know, for Search" } [root@lysw ~]#
2、重要参考链接
elasticsearch-head 以及其他的安装参考docker安装elasticsearch(最详细版)_Bright1668的博客-CSDN博客_docker安装elasticsearch
五、权限
1、权限问题
用 root 账号执行chmod命令:
#chmod -R 777 dirPath
参数 -R 表示递归,dirPath及其之内的所有文件夹、文件都被改变了权限。
例子:
#chmod -R 777 /home/user1/workspace/git
更多推荐
所有评论(0)