1. 程式人生 > 實用技巧 >docker 安裝elasticsearch

docker 安裝elasticsearch

docker 安裝elasticsearch

請參考官方docker-compose檔案https://www.elastic.co/guide/en/elasticsearch/reference/current/docker.html

在裝之前先修改sysctl.conf檔案

echo 'vm.max_map_count=262144' > /etc/sysctl.conf
sysctl -p
echo "root soft nofile 65536" >> /etc/security/limits.conf
echo "root hard nofile 65536" >> /etc/security/limits.conf
echo 
"* soft nofile 65536" >> /etc/security/limits.conf echo "* hard nofile 65536" >> /etc/security/limits.conf source /etc/security/limits.conf

1)docker安裝單節點elasticsearch

docker run -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" docker.elastic.co/elasticsearch/elasticsearch:7.9.0

2)docker安裝三節點elasticsearch

mkdir /usr/local/elasticsearch

下面的命令直接把程式碼寫到docker-compose.yml

之後cd/usr/local/elasticsearch

docker-compose up -d

#看看是否工作

curl -X GET "localhost:9200/_cat/nodes?v&pretty"

還是推薦去看看官方的連結

cat << EOF > /usr/local/elasticsearch/docker-compose.yml 
version: '2.2'
services:
  es01:
    image: docker.elastic.co
/elasticsearch/elasticsearch:7.9.0 container_name: es01 environment: - node.name=es01 - cluster.name=es-docker-cluster - discovery.seed_hosts=es02,es03 - cluster.initial_master_nodes=es01,es02,es03 - bootstrap.memory_lock=true - "ES_JAVA_OPTS=-Xms512m -Xmx512m" ulimits: memlock: soft: -1 hard: -1 volumes: - data01:/usr/share/elasticsearch/data ports: - 9200:9200 networks: - elastic es02: image: docker.elastic.co/elasticsearch/elasticsearch:7.9.0 container_name: es02 environment: - node.name=es02 - cluster.name=es-docker-cluster - discovery.seed_hosts=es01,es03 - cluster.initial_master_nodes=es01,es02,es03 - bootstrap.memory_lock=true - "ES_JAVA_OPTS=-Xms512m -Xmx512m" ulimits: memlock: soft: -1 hard: -1 volumes: - data02:/usr/share/elasticsearch/data networks: - elastic es03: image: docker.elastic.co/elasticsearch/elasticsearch:7.9.0 container_name: es03 environment: - node.name=es03 - cluster.name=es-docker-cluster - discovery.seed_hosts=es01,es02 - cluster.initial_master_nodes=es01,es02,es03 - bootstrap.memory_lock=true - "ES_JAVA_OPTS=-Xms512m -Xmx512m" ulimits: memlock: soft: -1 hard: -1 volumes: - data03:/usr/share/elasticsearch/data networks: - elastic volumes: data01: driver: local data02: driver: local data03: driver: local networks: elastic: driver: bridge EOF