搭建单机版ElasticSearch7.x

接到一个需求,使用Rancher搭建一个单机版ES7,记录一下过程

首先,dockerhub搜索对应的镜像,并尝试能否使用

docker  search   elasticsearch:7
docker pull elasticsearch:7.10.1
docker images

#-p暴露两个端口,-e指定es为单机版
docker run -itd -p 9200:9200 -p 9300:9300 -e discovery.type=single-node --name es elasticsearch:7.10.1

宿主机IP+9200能访问es的页面,发现能访问

如果es为了安全需要设置密码,则需要加两个参数

#/usr/share/elasticsearch/config/elasticsearch.yml
xpack.security.enabled: true   
xpack.security.transport.ssl.enabled: true

编写Dockerfile,将这两个参数加到镜像中

FROM elasticsearch:7.10.1
ADD  ./elasticsearch.yml /usr/share/elasticsearch/config/elasticsearch.yml

构建镜像,停止之前的容器并运行

docker build . -t  elasticsearch:7.10.1-yml
docker rm -f  es
docker run -itd -p 9200:9200 -p 9300:9300 -e discovery.type=single-node --name es elasticsearch:7.10.1-yml

进入容器修改密码

docker  exec  -it   es  /bin/bash        #进入容器
cd  /usr/share/elasticsearch/bin
./elasticsearch-setup-passwords  interactive      #执行修改密码的命令
设置所有的用户密码都为elastic方便记忆

退出容器并将当前状态的容器固化成镜像

ctrl + p + q   退出容器,但容器不会停止
docker commit  es  elasticsearch:7.10.1-elastic   #将正在运行中的es容器做成es的镜像

最后使用镜像启动容器即可

docker  rm -f es
docker run -d -p 9200:9200 -p 9300:9300 --name es  -e discovery.type=single-node elasticsearch:7.10.1-elastic

访问宿主机IP+9200
输入账号elastic密码elastic即可访问

将镜像打包传回公司内网

docker save  elasticsearch:7.10.1-elastic  > es-7101-elastic.tar   
gzip  es-7101-elastic.tar   #加快传输速度二次压缩

最后解压并传到内网仓库就可以啦

gzip -d  es-7101-elastic.tar.gz
docker load  -i es-7101-elastic.tar
docker images
docker tag elasticsearch:7.10.1-elastic  仓库地址/elasticsearch:7.10.1-elastic
docker push 仓库地址/elasticsearch:7.10.1-elastic
#如果提示推送拒绝,说明没登录,登录一下即可
docker login -u 用户名  仓库地址
#然后重新推送就成功了

你可能感兴趣的:(elasticsearch,docker,大数据)