在docker中部署elasticsearch

1.拉取镜像

docker pull elasticsearch:7.13.2

2.创建挂在文件

# 创建目录
mkdir -p /www/elasticsearch/config
mkdir -p /www/elasticsearch/data
mkdir -p /www/elasticsearch/plugins

# 写入配置文件
cat > /www/elasticsearch/config/elasticsearch.yml << EOF
http.host: 0.0.0.0
http.cors.enabled: true
http.cors.allow-origin: '*' 
EOF

# 赋权
chmod 777 /www/elasticsearch/data
chmod 777 /www/elasticsearch/plugins
chmod 777 /www/elasticsearch/config/elasticsearch.yml

3.创建elasticsearch容器

docker run --privileged=true --restart=always --net=randeng_network --ip 192.168.1.62 --name elasticsearch -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" -e ES_JAVA_OPTS="-Xms1g -Xmx2g" -v /www/elasticsearch/config/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml -v /www/elasticsearch/data:/usr/share/elasticsearch/data -v /www/elasticsearch/plugins:/usr/share/elasticsearch/plugins -d elasticsearch:7.13.2

# 其中elasticsearch.yml是挂载的配置文件
# data是挂载的数据,
# plugins是es的插件,如ik,

# 设置为单节点
-e "discovery.type=single-node" 
# 指定运行最小和最大运行内存
-e ES_JAVA_OPTS="-Xms1g -Xmx2g" 

--net=randeng_network --ip 192.168.1.62 #加入randeng_network,并使用192.168.1.62
--restart=always # 开机启动
--privileged=true # 特权模式

4.把elasticsearch加入到network中

不加入的话,elasticsearch容器无法访问外部网络

docker network connect bridge elasticsearch

5.测试是否配置成功

# 如果用apipost请求需要注意用get请求
curl http://localhost:9200

你可能感兴趣的:(Elasticsearch)