Docker部署elasticsearch+Kibana+IK分词器

Docker

  • Docker 官网:https://www.docker.com 选择自己合适的版本下载
  • 安装后可食用docker version查看docker版本信息

Docker的概念产考网址:https://zhuanlan.zhihu.com/p/295357159

Docker 是一个开源的应用容器引擎,基于 Go 语言 并遵从 Apache2.0 协议开源。

Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。

Docker 的优点

Docker 是一个用于开发,交付和运行应用程序的开放平台。Docker 使您能够将应用程序与基础架构分开,从而可以快速交付软件。借助 Docker,您可以与管理应用程序相同的方式来管理基础架构。通过利用 Docker 的方法来快速交付,测试和部署代码,您可以大大减少编写代码和在生产环境中运行代码之间的延迟。

Docker 镜像使用

在使用docker命令时一定要运行docker

当运行容器时,使用的镜像如果在本地中不存在,docker 就会自动从 docker 镜像仓库中下载,默认是从 Docker Hub 公共镜像源下载。
我们可以使用 docker images 来列出本地主机上的镜像。

  • REPOSITORY:表示镜像的仓库源
  • TAG:镜像的标签
  • IMAGE ID:镜像ID
  • CREATED:镜像创建时间
  • SIZE:镜像大小

获取一个新的镜像

当我们在本地主机上使用一个不存在的镜像时 Docker 就会自动下载这个镜像。如果我们想预先下载这个镜像,我们可以使用 docker pull 命令来下载它。

我们还可以用 docker search mysql 命令来查看可用版本:

当你在使用 docker pull mysql命令拉取镜像,如果不指定版本号,它将默认拉取最新的版本latest。如果你想指定特定的版本,可以在命令后加上版本号,例如 docker pull mysql:5.7 将会拉取 MySQL 5.7 版本的镜像。记得在使用特定版本之前,要确保该版本镜像是存在的。

运行容器

安装完成后,我们可以使用以下命令来运行 mysql 容器:

docker run -d --name mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 mysql

docker run: 用于启动一个新的容器。

  • -d: 在后台以守护进程模式运行容器。
  • —name mysql: 为容器指定一个名称,这里是 “mysql”。
  • -p 3306:3306: 将主机的 3306 端口映射到容器的 3306 端口,这样可以通过主机的 3306 端口访问 MySQL 服务。
  • -e MYSQL_ROOT_PASSWORD=123456: 设置 MySQL 的 root 用户的密码为 “123456”,这是一个环境变量的方式进行配置。
  • mysql: 这是指定要使用的 Docker 镜像刚刚拉取的镜像名称。

docker run 命令会返回一个字符串,该字符串代表容器的 ID。这个字符串可以用于后续对容器的操作,比如停止、重启、查看日志等。可以使用 docker ps 命令查看正在运行的容器的详细信息,包括容器的 ID、名称、状态等。

安装elasticsearch和kibana 时尽量版本保持一致,避免不必要麻烦!!!

  • Elasticsearch:Elasticsearch是一个开源的分布式搜索和分析引擎,基于Apache Lucene。它设计用于快速处理和分析大规模数据,并提供强大的全文搜索、结构化搜索、分布式搜索、实时数据分析等功能。Elasticsearch使用自定义的JSON风格的RESTful API作为与外部应用程序交互的接口,可通过简单的HTTP请求进行数据的索引、检索和分析。它支持水平扩展,可在多个节点上实现高可用性和高性能。
  • Kibana:Kibana是一个用于可视化和分析Elasticsearch数据的开源工具。它提供了一个直观的用户界面,让用户能够以交互方式探索、分析和可视化存储在Elasticsearch中的数据。Kibana提供各种可视化选项,如图表、仪表盘、地图等,可帮助用户更好地理解和展示数据。它允许用户创建和分享仪表盘,将数据图表化并实时

 1.拉取elasticsearch镜像

docker pull elasticsearch:7.12.1

2.运行elasticsearch

#创建docker网络
docker network create es-net
#如果es-net已经存在,则会报: Error response from daemon: network with name es-net already exists 忽略它即可

#创建数据卷
docker volume create es-data
docker volume create es-plugins

docker run -d \
--name elasticsearch \
-e "ES_JAVA_OPTS=-Xms512m -Xmx512m" \
-e "discovery.type=single-node" \
-v es-data:/usr/share/elasticsearch/data \
-v es-plugins:/usr/share/elasticsearch/plugins \
--privileged \
--network es-net \
-p 9200:9200 \
-p 9300:9300 \
elasticsearch:7.12.1


3.安装elasticsearch的ik分词器


https://github.com/medcl/elasticsearch-analysis-ik/releases/tag/v7.12.1


点击链接下载ik分词器7.12.1版本的。

安装ik分词器
查看插件所在目录:docker volume inspect es-plugins

“Mountpoint”: “/var/lib/docker/volumes/es-plugins/_data”,
把下载的 ik分词器解压缩后的得到文件放入一个新建的ik文件夹中,最后把整个ik文件夹拖到/var/lib/docker/volumes/es-plugins/_data这个目录下

重启elasticsearch

docker restart elasticsearch

4.安装kibana

#拉取kibana镜像
docker pull kibana:7.12.1

docker run -d \
--name kibana \
-e ELASTICSEARCH_HOSTS=http://elasticsearch:9200 \
--network=es-net \
-p 5601:5601  \
kibana:7.12.1

把kibana修改为中文简体

#进入容器
docker exec -it kibana bash
# 进入config 目录下
cd config/

编辑 kibana.yml 文件

vi kibana.yml

添加一行配置即可

i18n.locale: “zh-CN”

保存并退出

重启kibana

docker restart kibana

访问kibana http://你的linux主机的IP地址:5601

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值