拉取镜像
docker pull elasticsearch:7.9.3
创建目录
创建配置文件目录
mkdir -p /mydata/elasticsearch/config
注意: 需要修改权限,否则 docker容器 无权 在此目录下创建 log文件,导致启动失败
创建数据目录
mkdir -p /mydata/elasticsearch/data
注意: 需要修改权限,否则 docker容器 无权 在此目录下创建 数据文件,导致启动失败
创建插件目录
mkdir -p /mydata/elasticsearch/plugins
修改权限
将上面几个目录的权限修改为最高权限 777:
chmod -R 777 /mydata/elasticsearch/
创建配置文件
elasticsearch.yml
创建 elasticsearch.yml 配置文件,并写入数据:
echo "http.host: 0.0.0.0">>/mydata/elasticsearch/config/elasticsearch.yml
注意::后面有 空格 隔开
运行容器
docker run \
--name elasticsearch7.9.3 \
-p 9200:9200 \
-p 9300:9300 \
-e "discovery.type=single-node" \
-e ES_JAVA_OPTS="-Xms64m -Xmx512m" \
-v /mydata/elasticsearch/config/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml \
-v /mydata/elasticsearch/data:/usr/share/elasticsearch/data \
-v /mydata/elasticsearch/plugins:/usr/share/elasticsearch/plugins \
-d elasticsearch:7.9.3
解释:
--name elasticsearch7.9.3:容器名字-p 9200:9200:http请求端口号-p 9300:9300:集群环境下,各节点通信端口-e "discovery.type=single-node":单节点模式-e ES_JAVA_OPTS="-Xms64m -Xmx512m":设置java内存,默认占用内存较大,导致卡顿-v:将宿主机 目录 映射 到 容器内的目录。映射 配置文件、data数据目录、plugins插件目录-d elasticsearch:7.9.3指定镜像
启动失败
通过下面命令查看日志:
docker logs elasticsearch7.9.3
然后找到错误并解决
测试
访问 http://192.168.58.101:9200/ ,看到下面内容,说明启动成功:
解释:
- name:docker容器id
- cluster_name:节点名字(集群环境中)
- cluster_uuid:节点唯一标识uuid(集群环境中)
- number:版本号
- build_type:部署方式
- lucene_version:版本号
