废话少说,直接上步骤。
先上几个常用命令:
docker ps -a
docker rm container
docker rmi image
1.拉取镜像
docker pull elasticsearch:tag
如:docker pull elasticsearch:7.4.2
2.创建目录
mkdir -p /mydata/elasticsearch/config/ 建立文件:elasticsearch.yml
mkdir -p /mydata/elasticsearch/data/
mkdir -p /mydata/elasticsearch/plugins/
mkdir -p /usr/share/elasticsearch/config/ 建立文件:elasticsearch.yml
mkdir -p /usr/share/elasticsearch/data/
mkdir -p /usr/share/elasticsearch/plugins/
echo "http.host: 0.0.0.0">>/mydata/elasticsearch/config/elasticsearch.yml
上面一定注意elasticsearch.yml必须是一个文件,不是目录,用ll查看是-r开头。
3.创建实例并启动:
sudo docker run --name elasticsearch -p 9200:9200 -p 9300:9300 \
-e ES_JAVA_OPS="-Xms256m -Xmx256m" \
-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
注意: chmod -R 777 /mydata/elasticsearch 要有访问权限
参数说明:
-p 9200:9200 将容器的9200端口映射到主机的9200端口;
--name elasticsearch 给当前启动的容器取名叫 elasticsearch
-v /mydata/elasticsearch/data:/usr/share/elasticsearch/data 将数据文件夹挂载到主机;
-v /mydata/elasticsearch/config/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml 将配置文件挂载到主机;
-d 以后台方式运行(daemon)
-e ES_JAVA_OPS="-Xms256m -Xmx256m" 测试时限定内存小一点
4.启动elasticsearch容器
docker start elasticsearch
5.访问elasticsearch
http://47.106.177.244:9200/
6.启动失败
经过一番查找发现这是由于elasticsearch5.0默认分配jvm空间大小为2g,内存不足以分配导致
查询jvm配置文件
#查询配置文件
find / -name jvm.options
#编辑配置文件
vi 文件路径
-Xms256m
-Xmx256m
搞定: