在Docker容器中运行Elasticsearch 和 Kibana

1,838 阅读1分钟

一般来说,运行docker 需要Linux基础。

安装docker

dockerEECE版本,CE 又分为 stable, test, 和 nightly 三个更新频道。每六个月发布一个 stable 版本

macOS 安装docker

macos 上docker 运行使用 docker desktop。推荐使用brew 安装

brew update
brew cask install docker

需要先安装 brew

Ubuntu 安装docker

Docker 对于Ubuntu系统有如下需要

  • Disco 19.04
  • Cosmic 18.10
  • Bionic 18.04 (LTS)
  • Xenial 16.04 (LTS)
  1. 使用源安装
    1. 设置源
sudo apt-get update

sudo apt-get install \
    apt-transport-https \
    ca-certificates \
    curl \
    gnupg-agent \
    software-properties-common

curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -

sudo apt-key fingerprint 0EBFCD88

sudo add-apt-repository \
   "deb [arch=amd64] https://download.docker.com/linux/ubuntu \
   $(lsb_release -cs) \
   stable"
2. 安装
sudo apt-get update

sudo apt-get install docker-ce docker-ce-cli containerd.io
  1. 使用安装包
    1. Docker release下载对应的deb包。
    2. 安装
    sudo dpkg -i /path/to/package.deb
    

安装 docker-compose

macOS上的Docker Desktop已经有docker-compose无需安装 Linux 安装

  1. 下载指定版本的docker-compose
sudo curl -L "https://github.com/docker/compose/releases/download/1.24.1/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
  1. 为docker-compose添加可执行权限
sudo chmod +x /usr/local/bin/docker-compose
  1. 创建链接
sudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose

下载docker 镜像

镜像地址参考 Docker @ Elastic

docker pull docker.elastic.co/kibana/kibana:7.3.0
docker.elastic.co/elasticsearch/elasticsearch:7.3.0

docker-compose运行

  1. 创建docker-compose.yaml, 文件地址 github
version: '3'
services:
  kibana:
    image: docker.elastic.co/kibana/kibana:7.3.0
    container_name: kibana73
    environment:
      - I18N_LOCALE=zh-CN
      - XPACK_GRAPH_ENABLED=true
      - TIMELION_ENABLED=true
      - XPACK_MONITORING_COLLECTION_ENABLED="true"
    ports:
      - "5601:5601"
    networks:
      - es73net
      
  elasticsearch:
    image: docker.elastic.co/elasticsearch/elasticsearch:7.3.0
    container_name: es73
    environment:
      - cluster.name=geektime
      - node.name=es73
      - bootstrap.memory_lock=true
      - "ES_JAVA_OPTS=-Xms512m -Xmx512m"
      - discovery.seed_hosts=es73
      - cluster.initial_master_nodes=es73
    ulimits:
      memlock:
        soft: -1
        hard: -1
    volumes:
      - es73data1:/usr/share/elasticsearch/data
    ports:
      - 9200:9200
    networks:
      - es73net

volumes:
  es73data1:
    driver: local

networks:
  es73net:
    driver: bridge
  1. 运行
docker-compose -f path/to/docker-compose.yaml up
  1. 验证
    访问http://127.0.0.1:9200
    es

访问http://127.0.0.1:5601验证kibana

kibana

完成!