Docker 安装 ElasticSearch 及 挂载目录

1 拉取ES镜像

docker pull elasticsearch:7.7.0

2 安装临时ES容器,用于拷贝挂载文件

docker run --name es -d -e ES_JAVA_OPTS="-Xms512m -Xmx512m" -e "discovery.type=single-node" -p 9200:9200 -p 9300:9300 elasticsearch:7.7.0

3 拷贝挂载目录下的文件

docker cp -a es:/usr/share/elasticsearch/config/ /opt/es

docker cp -a es:/usr/share/elasticsearch/data/ /opt/es

docker cp -a es:/usr/share/elasticsearch/logs/ /opt/es

docker cp -a es:/usr/share/elasticsearch/plugins/ /opt/es

4 停止es服务,并删除临时容器

docker stop es

docker rm es

5 创建正式es容器

docker run -p 9200:9200 -p 9300:9300 \

--privileged=true --name es \

-e "discovery.type=single-node" \

-e ES_JAVA_OPTS="-Xms256m -Xmx256m" \

-v /opt/es/plugins:/usr/share/elasticsearch/plugins \

-v /opt/es/data:/usr/share/elasticsearch/data \

-v /opt/es/logs:/usr/share/elasticsearch/logs \

-v /opt/es/config:/usr/share/elasticsearch/config \

-d elasticsearch:7.7.0

说明

1 privileged=true 允许访问挂载目录

2 "discovery.type=single-node" 单机版

3 ES_JAVA_OPTS="-Xms256m -Xmx256m" 设置内存,如果服务器内存不是很大,这里设置小点,否则服务将起不来

6 设置允许跨域

打开es配置文件 elasticsearch.yml,添加如下,这样head插件就可以访问 es服务器了

http.cors.enabled: true

http.cors.allow-origin: "*"

http.cors.allow-headers: Authorization,X-Requested-With,Content-Length,Content-Type

7 kibana远程访问

如果你本地已经安装了kibana就无需在远程服务器上安装kibana了,只要做如下的设置就可以通过本地的kibana访问远程的es,打开本地的kibana的配置文件 kibana.yml,添加如下语句

elasticsearch.hosts: ["<此处填写自己的远程服务器ip:9200>"]

相关推荐
爱敲代码的憨仔1 小时前
es 检索文档 & 轻度搜索
大数据·elasticsearch·搜索引擎
杨靳言先6 小时前
✨【运维实战】内网服务器无法联网?巧用 SSH 隧道实现反向代理访问公网资源 (Docker/PortForwarding)
服务器·docker·ssh
fyakm7 小时前
K8s故障排查:常见问题定位与解决
docker·容器·kubernetes
abcy0712137 小时前
k8s ipc-namespace进程间通信隔离类型详解
docker·容器·kubernetes
Justice link7 小时前
K8S基本配置
运维·docker·容器
月亮不营业啦7 小时前
docker 教程(带详细图文)
docker
若涵的理解7 小时前
一文读懂K8S kubectl 命令,运维小白必看!
运维·docker·kubernetes
java_logo7 小时前
2025 年 11 月最新 Docker 镜像源加速列表与使用指南
linux·运维·docker·容器·运维开发·kylin
XMYX-08 小时前
Ubuntu 22.04.5 LTS 安装 Docker 29.1.5(阿里云镜像,生产环境实战)
ubuntu·阿里云·docker
Sombra_Olivia8 小时前
Ubuntu22.04 安装Docker Vulhub遇到的问题
web安全·docker·vulhub