docker 安装 es
要在Docker中安装Elasticsearch,您可以使用Elasticsearch的官方Docker镜像。以下是安装和运行Elasticsearch的步骤:
拉取Elasticsearch的官方Docker镜像:
docker pull docker.elastic.co/elasticsearch/elasticsearch:8.1.0
运行Elasticsearch容器:
docker run --name elasticsearch -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" docker.elastic.co/elasticsearch/elasticsearch:8.1.0
这里,我们使用了docker run命令来启动一个新的Docker容器。我们给容器命名为elasticsearch,并将Elasticsearch的默认HTTP端口9200映射到宿主机的同一端口,同时将Elasticsearch的内部通信端口9300也映射出来。我们还设置环境变量"discovery.type=single-node",这对于单节点的Elasticsearch实例是必要的。
运行docker命令,部署单点es:
docker run -d \
--name es \
-e "ES_JAVA_OPTS=-Xms512m -Xmx512m" \
-e "discovery.type=single-node" \
-v es-data:/usr/share/elasticsearch/data \
-v es-plugins:/usr/share/elasticsearch/plugins \
--privileged \
--network es-net \
-p 9200:9200 \
-p 9300:9300 \
docker.elastic.co/elasticsearch/elasticsearch:8.1.0
命令解释:
docker run -d:设置容器后台运行
--name es:给es容器取的名字
-e "ES_JAVA_OPTS=-Xms512m -Xmx512m":设置堆内存大小,这里是因为我的虚拟机内存总共只有2G,所以设置的比较小,你自己设置不要低于这个内存大小,否则会出现内存溢出的报错
-e "discovery.type=single-node":设置的启动模式为非集群模式
-v es-data:/usr/share/elasticsearch/data:挂载数据卷,绑定es的数据目录
-v es-plugins:/usr/share/elasticsearch/plugins:挂载数据卷,绑定es的插件目录
--privileged:授予数据卷访问权
--network es-net:加入一个名为es-net的网络中,就是我们刚刚创建的,如果你不是这个名字根据你的实际情况去修改
-p 9200:9200:端口映射,9200暴露的是用户访问的http端口
-p 9300:9300:端口映射,9300暴露的是es各个节点互联的端口,这个端口我们单点模式现在用不到,你不暴露也没问题
预览
在浏览器中输入:http://虚拟机IP:9200/ 即可看到elasticsearch的响应结果:
请注意,Elasticsearch在生产环境中运行时需要更多的配置和考虑,比如持久化数据、内存分配、安全设置等。此外,Elasticsearch对宿主机的资源有一定要求,所以在资源充足的情况下再进行部署。