阿里云轻量应用服务器 Docker 部署 Elasticsearch

docker pull docker.elastic.co/elasticsearch/elasticsearch:6.5.4
 
mkdir esdata
sudo chown -R 1000:1000 esdata
 
docker run -d \
  -v ~/esdata:/usr/share/elasticsearch/data \
  -e "bootstrap.memory_lock=true" \
  --ulimit memlock=-1:-1 \
  -p 9200:9200 \
  -p 9300:9300 \
  -e ES_JAVA_OPTS="-Xms512m -Xmx512m" \
  -e "discovery.type=single-node" \
  --name elasticsearch \
  docker.elastic.co/elasticsearch/elasticsearch:6.5.4
 
docker logs -f ealsticsearch
 
docker exec -it elasticsearch bash
 
./bin/elasticsearch-plugin install https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v6.5.4/elasticsearch-analysis-ik-6.5.4.zip
 
docker restart elasticsearch

防火墙

轻量应用服务器的防火墙默认放行了 22 端口(SSH 服务)、80 端口(HTTP 服务)以及 443 端口(HTTPS 加密访问服务),除默认放行的端口,其它端口默认是禁用状态。您可以通过添加防火墙规则来放行更多端口。

阿里云的轻量应用服务器只能放行 9200 端口,如果需要限制来源 IP 地址访问 Elasticsearch,需要 iptables 添加防火墙规则。

iptables -I FORWARD -p tcp --dport 9200 -j DROP
 
iptables -I FORWARD -s 120.196.100.250 -p tcp --dport 9200 -j ACCEPT