打包elasticsearch镜像:

start.sh
#!/bin/bash/bin/cd /usr/local/elasticsearch/bin/ && /bin/su esuser && /bin/sh /usr/local/elasticsearch/bin/elasticsearch
su esusersource /etc/profile
./elasticsearch  -d tail -f /usr/local/elasticsearch/logs/elasticsearch.logdocker run -it -p 9200:9200 -p 9300:9300 60.9.4.21:5000/java-es:latest /bin/bash

===================================================================================================

dockerfile
cat << EOF
FROM 60.9.4.21:5000/javaCOPY ./ /workspace
CMD  ["/workspace/start.sh"]EOF
) > ./Dockerfile

===================================================================================================

elasticsearch.service
这一份配置中要指定JAVA_HOME的环境变量;指定用特定用户esuser启动;Exec地址要写绝对路径;后台启动;启动之前先启动网络服务;延迟五秒在启动
cat /usr/lib/systemd/system/elasticsearch.service
[Unit]
Description=elasticsearch-server
After=network.target[Service]User=esuser
Group=esuserType=forking
Environment="JAVA_HOME=/usr/local/java/jdk1.8.0_191/"ExecStart=/bin/sh -c '/usr/local/elasticsearch/bin/elasticsearch -d'
ExecStop=kill -9 $(pidof elasticsearch-server)
ExecReload=kill -9 $(pidof elasticsearch-server) && /bin/sh -c '/usr/local/elasticsearch/bin/elasticsearch -d'StandardOutput=syslog
StandardError=syslog
SyslogIdentifier=/var/es/out.logLimitCORE=infinity
LimitFSIZE=infinity
LimitNOFILE=65536
LimitNPROC=65536
TimeoutStopSec=0
KillSignal=SIGTERM
KillMode=process
SendSIGKILL=no
SuccessExitStatus=143PrivateTmp=true
Restart=always
RestartSec=5[Install]
WantedBy=multi-user.targetvi /etc/sysctl.conf
vm.max_map_count=262144
net.ipv6.conf.all.disable_ipv6 = 0
net.ipv6.conf.default.disable_ipv6 = 0
sysctl -p重启配置文件
systemctl daemon-reload
systemctl status elasticsearch
systemctl start elasticsearch这样可以使用systemctl启动服务了。
systemctl enable elasticsearch 开机自启动
systemctl disable elasticsearch 开机自启动
systemctl list-unit-files 查看开机自启项
docker commit -a="y" -m="finished" 2c569072bcef 60.9.4.21:5000/es:latest #将当前容器打包镜像
docker tag 2c569072bcef 60.9.4.21:5000/es:latest #将镜像命名为60.9.4.21:5000/es:latest
docker push 60.9.4.21:5000/es:latest #将镜像推送至私服
镜像名为60.9.4.21:5000/es:latest
docker run -it -d --privileged=true -p 9200:9200 -p 9300:9300 60.9.4.21:5000/es:latest #拉取并以特权模式运行容器
curl localhost9200   #访问测试
进入容器:#  docker exec -it 2c569072bcefbb /bin/bash参数解释:
只要使用Systemd这个进程作为启动进程的linux系统,其子进程都会有PrivateTmp这么一个属性,用于设置是否使用私有的tmp目录。
例如:nginx会有一个/systemd/system/nginx.service/tmp目录
作用:PrivateTmp=ture表示开启此属性
把各个service的tmp目录隔离开的话,可以保证一定的安全性。
对于每个service的tmp目录,会在服务启动(start)时创建该目录,并且在关闭(stop)服务时删除该目录。如果我们是使用自己定义的临时目录路径的话,就需要我们自己定义相关的维护机制了(如:定期删除这些临时文件等),而使用这个PrivateTmp的话,就不需要我们自己去维护了。
After=network.target #启动顺序,在network之后启动
Wants=network.target  #依赖关系,wants 表示若依赖,requires 表示强依赖,即network.target如果启动失败,elasticsearch也会退出
Restart=on-failure #重启的方式 ,elasticsearch任何意外的失败,都会重启
Restart=always
RestartSec=5
这两句话,能够在服务挂掉之后自动重启。
PrivateTmp=true
# 指定此进程可以打开的最大文件数
LimitNOFILE=65535
# 指定此进程可以打开的最大进程数
LimitNPROC=65535
# 最大虚拟内存
LimitAS=infinity
# 最大文件大小
LimitFSIZE=infinity
# 超时设置 0-永不超时
TimeoutStopSec=0
# SIGTERM是停止java进程的信号
KillSignal=SIGTERM
# 信号只发送给给JVM
KillMode=process
# java进程不会被杀掉
SendSIGKILL=no
# 正常退出状态
SuccessExitStatus=143

===================================================================================================

Linux 服务管理两种方式service和systemctlservice命令构建:/etc/init.d目录建立一个文件elasticsearch   语法:service elasticsearch start
systemctl命令构建:在/usr/lib/systemd/system目录建立一个文件elasticsearch.service        语法:systemctl status elasticsearchsystemd对应的进程管理命令是systemctl
systemctl命令兼容了service即systemctl也会去/etc/init.d目录下,查看,执行相关程序

===================================================================================================

es配置文件加上:
network.host: 0.0.0.0
discovery.seed_hosts: ["0.0.0.0"]system下srevice的配置-/bin/sh -c "/usr/local/elasticsearch/bin/elasticsearch --fail --no-block default"

===================================================================================================

不切换用户启动:
su - esuser -c /usr/local/elasticsearch/bin/elasticsearch
绝对路径启动:
/bin/sh -c "/usr/local/elasticsearch/bin/elasticsearch"
/bin/cd
/bin/su
/bin/cp
查看开机自启项
systemctl list-unit-files

===================================================================================================

报错:IllegalStateException: failed to obtain node locks, tried [[/usr/local/***
原因:报错原因:没有正常停止elasticsearch
解决:①ps aux | grep elasticsearch②kill -9 进程号③重启./bin/elasticsearch -d

===================================================================================================

指定某个用户:systemctl --user start elasticsearch1.使用echo命令查看单个环境变量。例如:echo $PATH
2.使用env查看所有环境变量。例如:env
3.使用groups查看用户所属用户组。例如:groups esuser
4.把用户添加进入root组。 例如:usermod -a -G root esuser 那么esuser就在两个组都有。示例:groups esuser root

docker删除所有容器/镜像

docker stop $(docker ps -a -q)  #停止所有容器
docker rm $(docker ps -a -q)   #删除所有容器
docker rmi $(docker images -q) #删除所有镜像
参数解释:-a :显示所有的容器,包括未运行的; -q :静默模式,只显示容器编号; docker ps -a -q = docker container ls -a -q
journalctl -f #查看systemctl命令打印的日志

Elasticsearch镜像打包记录相关推荐

  1. 镜像打包工具clonezilla

    镜像打包工具clonezilla clonezilla 百度云盘链接:https://pan.baidu.com/s/1LOEPqNE9O0Z4QJmNExlgeA 提取码:zlso 使用方法: 1. ...

  2. docker多个容器一起打包_详解Docker 容器基础系统镜像打包

    因为容器本身是共享宿主操作系统内核,所以容器基础系统镜像包本身就是一个标准的 Linux rootfs + 用户自定义的工具.根据这个思路,我们就可以构建一个自己的容器基础系统镜像. 构建标准的 Li ...

  3. ElasticSearch常用命令记录

    ElasticSearch常用命令记录 < - 个人学习笔记 - > 软件版本:curl -s localhost:9200/?pretty 输出中"version" ...

  4. docker镜像打包save,载入load,启动run

    docker镜像打包save,载入load,启动run docker打包,针对的是镜像,而不是运行中的容器. 查看当前系统的镜像文件: docker images 首先,将当前运行中的,已经自定义修改 ...

  5. docker将已有的镜像打包成.tar.gz以及载入镜像

    1.  将docker中已存在的镜像打包成.tar.gz docker save -o xxx.tar.gz 镜像名称 2. 载入.tar.gz文件成镜像 docker load -i xxx.tar ...

  6. kali制作Mac镜像过程记录

    kali制作Mac镜像过程记录 1.制作kali启动U盘 2.修改Mac启动项开机 3.准备写入硬盘 4.制作镜像 1.制作kali启动U盘   使用Universal-USB-Installer工具 ...

  7. vue项目中 npm使用淘宝镜像方法记录cnpm

    vue项目中 npm使用淘宝镜像方法记录 cnpm安装 1,设置默认镜像地址 npm config set registry https://registry.npm.taobao.org 2,验证镜 ...

  8. 三节点ElasticSearch+kibana安装记录及与Rancher对接

    三节点ElasticSearch+kibana安装记录及与Rancher对接 1. 集群安装环境说明 操作系统 IP地址 角色 软件版本 centos7.6 192.168.10.68 ES01 el ...

  9. uniapp项目打包记录

    uniapp项目打包记录 H5打包 1.点击发行 2.点击网站-PC.WEB或手机H5,进行打包 3.弹出弹窗,填入相应内容,点击发行 4.打包成功之后会有如下提示,且指明了包所在路径 Android ...

最新文章

  1. Weblogic远程调试
  2. Ganglia的配置,用于监测系统和Hadoop性能
  3. angular change the url , prevent reloading
  4. 徐州医科大学计算机报名,2019年徐州医科大学计算机等级考试准考证打印
  5. Java成神之路——UML类关系图
  6. 【转】QDockWidget 停靠窗口和工具栏
  7. 安装PHP5,安装PHP7
  8. 学习java第二天 java体系结构与表面执行流程 (one 大白(●—●))
  9. 【.NET6+WPF】WPF使用prism框架+Unity IOC容器实现MVVM双向绑定和依赖注入
  10. 软件加入使用时间_2020年,加入“midi音乐制作讲堂”内部会员,学音乐制作变得更简单...
  11. 基于TI8168平台的16路D1分辨率的DVR方案
  12. phpnow开启mysqli扩展
  13. ABAP术语-BOR (Business Object Repository )
  14. c喱c喱是哪国语言,c喱c哩歌词。不要音译
  15. 知名大数据厂商云宏加入龙蜥社区,共同打造信息安全坚实“地基”
  16. html制作美容热点产品,美容热点产品.html
  17. 21年新版kali安装
  18. 耳机在macOS系统电脑上怎么听不到任何声音怎么办?
  19. 红米note4出厂系统版本_红米Note4官方出厂rom系统刷机包_升级包降级包回退包下载...
  20. hackthebox- Arctic (考点:ColdFusion安全/windows)

热门文章

  1. 如何在Windows中使用截图工具进行屏幕截图
  2. 定时任务实现(中午12点执行,每1分钟执行一次)
  3. BigWorld Server - Architecture
  4. html 拼图游戏,HTML5人物拼图游戏
  5. android利用多线程加载图片【不使用第三方库】
  6. 深信服技术认证之F5隐写工具初探
  7. 基于高光谱成像的苹果虫害检测特征向量的选取
  8. 我的前端成长之路-写给在迷茫路上的人
  9. 摆脱“概念化”,自动售货机玩儿“物联网”是否靠谱?
  10. 逻辑漏洞之无密码登录(vlcms)