在 Docker 容器中運行 Elasticsearch 和 Cerebro

接上篇:Elasticsearch 7.x 的安裝與簡單配置(阿里雲Ubuntu)

系統環境

  • 操作系統:Ubuntu 18.04 LTS(阿里雲)
  • 系統IP
# 內網,私有地址
172.內.內.內
# 外網,公有地址
112.外.外.外
  • Elasticsearch 版本:7.2
  • Docker 版本:18.09

安裝

$ sudo apt install docker
# 將當前用戶加入 docker 組,避免 root 權限運行 docker 命令
$ sudo usermod -aG docker ${USER}
$ docker --version
Docker version 18.09.7, build 2d0083d
  • 安裝 docker.io
$ sudo apt install docker.io
  • 安裝 docker-compose
$ sudo apt install docker-compose
$ docker-compose --version
docker-compose version 1.17.1, build unknown

配置 docker 鏡像加速器

  • 阿里雲控制檯 -> 產品與服務 -> 彈性計算 -> 容器鏡像服務

阿里雲 docker 鏡像加速

創建並啓動容器

# docker-compose.yaml
version: '2.2'
services:
  cerebro:
    image: lmenezes/cerebro:0.8.3
    container_name: cerebro
    ports:
      - "9000:9000"
    command:
      - -Dhosts.0.host=http://elasticsearch:9200
    networks:
      - es72net
  kibana:
    image: docker.elastic.co/kibana/kibana:7.2.0
    container_name: kibana72
    environment:
      #- I18N_LOCALE=zh-CN
      - XPACK_GRAPH_ENABLED=true
      - TIMELION_ENABLED=true
      - XPACK_MONITORING_COLLECTION_ENABLED="true"
    ports:
      - "5601:5601"
    networks:
      - es72net
  elasticsearch:
    image: docker.elastic.co/elasticsearch/elasticsearch:7.2.0
    container_name: es72_01
    environment:
      - cluster.name=geektime
      - node.name=es72_01
      - bootstrap.memory_lock=true
      - "ES_JAVA_OPTS=-Xms512m -Xmx512m"
      - discovery.seed_hosts=es72_01,es72_02
      - network.publish_host=elasticsearch
      - cluster.initial_master_nodes=es72_01,es72_02
    ulimits:
      memlock:
        soft: -1
        hard: -1
    volumes:
      - es72data1:/usr/share/elasticsearch/data
    ports:
      - 9200:9200
    networks:
      - es72net
  elasticsearch2:
    image: docker.elastic.co/elasticsearch/elasticsearch:7.2.0
    container_name: es72_02
    environment:
      - cluster.name=geektime
      - node.name=es72_02
      - bootstrap.memory_lock=true
      - "ES_JAVA_OPTS=-Xms512m -Xmx512m"
      - discovery.seed_hosts=es72_01,es72_02
      - network.publish_host=elasticsearch
      - cluster.initial_master_nodes=es72_01,es72_02
    ulimits:
      memlock:
        soft: -1
        hard: -1
    volumes:
      - es72data2:/usr/share/elasticsearch/data
    networks:
      - es72net


volumes:
  es72data1:
    driver: local
  es72data2:
    driver: local

networks:
  es72net:
    driver: bridge
  • 在 docker-compose.yaml 所在目錄運行以下命令,創建並啓動容器
$ docker-compose up
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章