docker安装单节点的es
- 拉取镜像
# 版本号根据需要自己选择
docker pull elasticsearch:7.4.2
- 准备容器挂载的目录,路径可根据需求修改
# 配置文件elasticsearch.yml存放目录
mkdir -p /mydata/elasticsearch/config
# 数据存放目录
mkdir -p /mydata/elasticsearch/data
# es插件目录
mkdir -p /mydata/elasticsearch/plugins
# 配置http.host,所有地址都可以访问。这个配置文件随便什么方式,只要放在挂在的目录下,后面通过修改elasticsearch.yml文件,重启容器就可以修改配置了
echo "http.host: 0.0.0.0" >> /mydata/elasticsearch/config/elasticsearch.yml
- 运行容器
docker run --name elasticsearch -p 9200:9200 -p 9300:9300 \
-e "discovery.type=single-node" \
-e ES_JAVA_OPTS="-Xms64m -Xmx128m" \
-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.4.2
说明:
–name:指定容器名称
-p 9200:9200: 映射es端口到宿主机9200,restapi请求都走9200端口
-p 9300:9300: 9300 主要是es集群节点间的通信端口
-e “discovery.type=single-node”:这里以单节点方式运行
-e ES_JAVA_OPTS="-Xms64m -Xmx128m":指定es的最小内存,最大内存,学习用的,一般线上可根据需要修改。
-v:挂载容器目录
-d:后台方式启动
容器启动遇到问题可使用docker logs 容器名称或者容器id
查看启动日志,
- 如果是外部文件夹,文件没有权限访问,可使用下面命令修改文件夹权限。
chmod -R 777 '文件夹路径'
- 其他问题暂时未发现
docker安装kibana
- 拉取镜像
# 版本号根据需要自己选择
docker pull kibana:7.4.2
- 直接启动容器
docker run --name kibana -e ELASTICSEARCH_HOSTS=http://host_ip:9200 -p 5601:5601 -d kibana:7.4.2
直接通过-e指定参数ELASTICSEARCH_HOSTS启动就可以。host_ip为es所在的ip地址。