1,拉取鏡像
docker pull elasticsearch:7.1.1
2,設定權限
權限問題,需要把/home/es/data目錄設定權限,宿主主機設置,否則 es 啟動不起來
chmod 777 /home/es/data
3,啟動容器
單節點:
docker run --name es -d -e ES_JAVA_OPTS="-Xms512m -Xmx512m" -e "discovery.type=single-node" -p 9200:9200 -p 9300:9300 -v /etc/localtime:/etc/localtime:ro -v /home/es/data:/usr/share/elasticsearch/data elasticsearch:7.1.1
集群:
docker run --name es1 -d -e ES_JAVA_OPTS="-Xms512m -Xmx512m" -p 9200:9200 -p 9300:9300 -v /etc/localtime:/etc/localtime:ro -v /home/es/data/node1:/usr/share/elasticsearch/data -v /home/es/config/es1.yml:/usr/share/elasticsearch/config/elasticsearch.yml elasticsearch:7.1.1
docker run --name es2 -d -e ES_JAVA_OPTS="-Xms512m -Xmx512m" -p 9201:9201 -p 9301:9301 -v /etc/localtime:/etc/localtime:ro -v /home/es/data/node2:/usr/share/elasticsearch/data -v /home/es/config/es2.yml:/usr/share/elasticsearch/config/elasticsearch.yml elasticsearch:7.1.1
es1.yml 和 es2.yml 兩文件鏈接: https://pan.baidu.com/s/15jQ4q6LlFVDBB4vWLYgS4A 提取碼: 4p4v
yml 文件中需指定主服務器
cluster.initial_master_nodes: es-node1
Docker 安裝運行 ElasticSearch 遇到的問題
ES 的默認分配的內存太大了。進程被自動殺死了,通過以下命令可以解決
sudo sysctl -w vm.max_map_count=262144
參考: