1、docker启动命令:docker-compose up -d

加上 -d 表示后台运行,只是docker-compose up则是在控制台运行,会不停的打印日志。

2、从容器中拷贝文件到宿主机:sudo docker cp es01:/usr/share/elasticsearch/elastic-certificates.p12 “/mnt/test-solit/es/es138”

官方格式为:docker cp [OPTIONS] CONTAINER:SRC_PATH
DEST_PATH|-CONTAINER为容器名或者容器id这里注意:后紧跟路径,无需空格,否则拷贝不成功*

3、 停止docker中所有容器:docker stop $(docker ps -aq)

4、 进入容器:sudo docker exec -it e154e3b06d4b /bin/bash

其中e154e3b06d4b为容器id
可通过docker ps 查看容器信息

5、 es加用户鉴权:

https://www.cnblogs.com/woshimrf/p/docker-es7.html

在这里注意elasticsearch.yml为es配置文件,如果es在docker中运行,可直接从官网拉镜像文件。

自己的配置文件放在宿主机某目录下,docker-compose.yml文件可配置映射:

这是由于docker中的容器在启动的时候也许会清空某些文件,不稳定,使用映射则有保障。

其中注意生成密钥文件后,需要查看文件权限,其他用户需要读®权限:chmod 644 elastic-certificates.p12

6、 验证es加了用户鉴权后可先测试:curl http://本服务器ip:9200

若报错表示需要用户密码连接: curl http://本服务器ip:9200 -u user:password

7、 docker中kibana设置连接es,先进入容器,进入config目录(/usr/share/kibana/config),在kibana.yml配置文件中新增

elasticsearch.username: "elastic"
elasticsearch.password: "yourpassword"

8、 java连接开启用户鉴权的es:

配置文件新增:spring.elasticsearch.rest

同时,需要在java中新增esConfig文件:

@Configuration
public class ESConfig extends AbstractElasticsearchConfiguration {@AutowiredElasticsearchRestClientProperties elasticsearchRestClientProperties;@Overridepublic RestHighLevelClient elasticsearchClient() {final ClientConfiguration clientConfiguration = ClientConfiguration.builder().connectedTo(elasticsearchRestClientProperties.getUris().get(0)).withBasicAuth(elasticsearchRestClientProperties.getUsername(), elasticsearchRestClientProperties.getPassword()).withSocketTimeout(Duration.ofSeconds(15000)).build();return RestClients.create(clientConfiguration).rest();}
}

9、 es启动失败,错误码为78

elasticsearch exited with code 78

分析:虚拟内存不足,需要重新设置
解决方法:sudo sysctl -w vm.max_map_count=262144 (一次性解决方法,若虚拟机重启则参数失效)

解决方法二:在 /etc/sysctl.conf文件最后一行添加配置:
vm.max_map_count=262144

10、 elasticsearch7.6.2 修复log4j漏洞:

解决方法一:es运行在docker容器中,先进入es容器,在/usr/share/elasticsearch/config/jvm.options文件中添加

-Dlog4j2.formatMsgNoLookups=true

解决方法二:升级log4j的版本,强制升级至2.16.0

<!-- https://mvnrepository.com/artifact/org.apache.logging.log4j/log4j-api -->
<dependency><groupId>org.apache.logging.log4j</groupId><artifactId>log4j-api</artifactId><version>2.16.0</version>
</dependency><!-- 辅助依赖配置 -->
<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-logging</artifactId><exclusions><exclusion><groupId>org.apache.logging.log4j</groupId><artifactId>log4j-to-slf4j</artifactId></exclusion></exclusions>
</dependency><dependency><groupId>org.springframework.data</groupId><artifactId>spring-data-elasticsearch</artifactId><version>4.0.0.RELEASE</version><exclusions><exclusion><groupId>org.apache.logging.log4j</groupId><artifactId>log4j-api</artifactId></exclusion></exclusions>
</dependency>

在docker容器中操作es,并给es7.6添加用户鉴权设置密码相关推荐

  1. Openstack技术\在Docker容器中部署MySQL,并通过外部mysql客户端操作MySQL Server

    MySQL部署 在Docker容器中部署MySQL,并通过外部mysql客户端操作MySQL Server. 操作步骤: 搜索mysql镜像 拉取mysql镜像 创建容器 操作容器中的mysql 容器 ...

  2. 如何在Docker容器中挂载主机目录

    本文翻译自:How to mount a host directory in a Docker container I am trying to mount a host directory into ...

  3. 查看docker内部路径_web应用在Docker容器中部署(Windows)

    前言 容器化是软件开发的一种方法,通过该方法可将应用程序或服务.其依赖项及其配置(抽象化为部署清单文件)一起打包为容器映像. 容器化应用程序可以作为一个单元进行测试,并可以作为容器映像实例部署到主机操 ...

  4. 【docker容器常用操作】

    docker容器常用操作 docker生成镜像 docker 加载镜像 docker生成镜像 step1: 查看需要生成镜像的容器的id sudo docker ps 例如: comacai@DGX2 ...

  5. 在docker容器中创建用户组和用户,并且多用户共用一个anaconda环境

    转载自:https://www.cnblogs.com/devilmaycry812839668/p/13760815.html 在docker容器中创建用户组和用户,并且多用户共用一个anacond ...

  6. 如何在Docker容器中运行Docker [3种方法]

    在本博客中,我将向您介绍在docker中运行docker所需的三种不同方法. Docker In Docker的用处 dockerIndocker的一个潜在用处是CI管道,在代码成功构建后,您需要在其 ...

  7. 【Docker】(五)使用bind mounts修改Docker容器中的Nginx配置文件

    1.前言 本系列文章记录了从0开始学习Docker的过程,Docker系列历史文章: (一)基本概念与安装使用 (二)如何使用Docker发布一个SpringBoot服务 (三)使用registry远 ...

  8. 记录一次 在linux 搭建的mysql迁移到docker容器中

    上篇文章写道,我腾讯云被攻击了,然后我各种删除木马文件,但在这个过程中,有些系统文件没认到,以为是木马文件,就删除了,各种处理无果,打开腾讯云的救援模式,备份了些重要文件,然后重装系统了. 基于这个契 ...

  9. Docker容器中GUI软件的远程图形界面交互:mobaXterm+SSH,以脑影像处理软件FSL为例;FSL6.0.3完整安装与可视化;docker容器图形化;远程登录docker容器;

    前言   对docker容器中软件的操作,是基于命令行的,这就导致了习惯图形化界面的人比较难以使用docker,而它又是一个神器,所以很难受.一般情况下,可以给容器安装一个桌面环境,然后用类似VNC的 ...

最新文章

  1. 前端面试之Vue向技巧总结
  2. python语言格式化输出_Python format()格式化输出方法详解
  3. fn hotkeys and osd_潍坊实习生活(3)and 绊 最后的进化
  4. JDBC、Tomcat为什么要破坏双亲委派模型?
  5. MySQL定义数据库对象之指定definer
  6. Python 一键转化代码为流程图
  7. RGB-D dataset
  8. 与ceph的区别_Ceph分布式存储高性能设计
  9. 以太坊智能合约部署与交互
  10. 计算机怎么连接佳能打印机驱动,佳能打印机怎么连接电脑
  11. 软件评测师备考详细知识点
  12. java io和nio的区别_IO与NIO的区别
  13. 第十一周助教心得体会
  14. OSC 第 130 期高手问答 — 究竟什么才是微服务?_黄勇【摘选】
  15. Unity3D学习日记2
  16. 荣耀畅玩7c能用鸿蒙吗,荣耀畅玩7C评测:人脸识别双摄 超高性价比
  17. CE修改器入门:寻找指针基址
  18. SDP最佳实践丨为室内亲子动物园注入新零售基因
  19. python查看列表有多少元素_python 统计列表中元素的数量
  20. 2017北京ICPC -G - Liaoning Ship’s Voyage (HihoCoder - 1633)几何

热门文章

  1. php动态数组的存储过程,存储过程(数组参数、for循环、拼凑的动态sql游标、merge into)...
  2. mysql error 364_MySQL事务未提交致使整个表锁死
  3. Python 克莱姆法则求解方程组
  4. 常用网络结构:Alex,VGG,Resnet对比
  5. 【Android】RecycleView简单仿漫画APP图片相关样式
  6. Linux中ibus输入法中全拼和双拼的问题+解决VNCserver切换不成功问题
  7. 第077封“情书”:弯弯绕<Entagma>Houdini 2018
  8. 微一案做php,微一案:真正的高效率,都是这么炼成的
  9. creo4.0安装教程
  10. 如何修改python中字典的键和值