1、去docker官网https://hub.docker.com/_/elasticsearch?tab=tags&page=1查看elasticsearch镜像有哪些版本:
2、使用以下命令拉取elasticsearch7.5.2版本的镜像:
docker pull elasticsearch:7.5.2
3、查看拉取下来的elasticsearch镜像:
docker images
得到镜像的id为929d271f1798:
4、创建并启动一个elasticsearch容器:
docker run -d --name es -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" -e "ES_JAVA_OPTS=-Xms512m -Xmx512m" 929d271f1798
其中,
-d:表示后台运行容器并返回容器id;
--name es:表示容器名字为es;
-p 9200:9200 -p 9300:9300:9200是供http访问端口,9300是供tcp访问的端口,如果不做9200端口映射,浏览器就不能访问elasticsearch的服务,而9300端口用于其他elasticsearch节点的访问;
-e "ES_JAVA_OPTS=-Xms512m -Xmx512m" : 配置容器环境变量,给JVM分配足够内存
5、docker ps -a查看所有容器,可以看到es的状态为up:
6、通过修改容器config目录下的elasticsearch.yml来修改elasticsearch的一些配置,先通过以下命令进入容器内部:
docker exec -it es /bin/bash
进入到config目录下
然后使用yum install vim在容器内部安装vim编辑器,再用vim打开elasticsearch.yml,增加内容如下:
http.host: 0.0.0.0
cluster.name: "tkt-es-cluster"
network.host: 0.0.0.0
http.cors.enabled: true
http.cors.allow-origin: "*"
其中,
cluster.name:可以自定义集群名称。
network.host:当前es节点绑定的ip地址,如果需要开放对外访问这个属性必须设置。
http.cors.enabled:是否支持跨域,默认为false。
http.cors.al