docker pull elasticsearch:7.4.2
1.在宿主机上创建文件夹,用于映射elasticsearch配置和数据
mkdir -p /mydata/elasticsearch/config
mkdir -p /mydata/elasticsearch/data
2.在/mydata/elasticsearch/config中创建配置文件 elasticsearch.yml 并写入 http.host: 0.0.0.0
其意思是:所有客户端可以访问, http.host: 0.0.0.0 中间带空格否则报错
echo "http.host: 0.0.0.0">>/mydata/elasticsearch/config/elasticsearch.yml
3.创建的映射文件需要放开权限,因为容器需要用到文件,否则会报错,宿主机上执行如下命令
chmod -R 777 /mydata/elasticsearch/
4.执行如下命令启动elasticsearch
注意:如下 -e ES_JAVA_OPTS="-Xms64m -Xmx128m" 设置内存,elasticsearch默认内存2g,如果内存不够启动将报错。
docker run --name=elsasticsearch -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
5.docker 查看容器是否运行OK
docker ps # 查看运行的容器
docker ps -a # 查看所有容器
6.浏览器上查看访问elasticsearch http://宿主机ip:9200