Docker安装ELK

编程

安装

首先安装 Docker 与 Docker-Compose 相关的组件,我们这里直接使用准备好的 ELK 镜像,执行以下命令从 Dockerhub 上拉取指定版本的镜像,在本例当中我使用的是 7.40 版本。

docker pull sebp/elk:740

配置

为其编写 docker-compose.yaml 文件,内容如下:

version: '3.7'

services:

nginx:

image: nginx

container_name: nginx

ports:

- 80:80

- 443:443

networks:

- internal-network

volumes:

- /root/Volumes/Nginx/nginx.conf:/etc/nginx/nginx.conf

- /root/Volumes/Nginx/Configs:/etc/nginx/conf.d

restart: always

elk:

image: sebp/elk:740

container_name: elk

ports:

- 9200:9200

- 5044:5044

expose:

- 5601

networks:

- internal-network

volumes:

- /opt/elk-data:/var/lib/elasticsearch

- /etc/localtime:/etc/localtime

depends_on:

- nginx

ulimits:

nproc: 262144

nofile:

soft: 262144

hard: 262144

memlock: 9223372036854775807

restart: always

networks:

internal-network:

external: true

上面的 Yaml 文件内容大概意思就是开放 ELK 的 9200 与 5400 端口,然后使用 Nginx 代理 Kibana Dashboard,并且将相关的数据卷挂载了出来。

这里需要注意的是,我配置了 ulimits 节,这是因为 ELK 在启动的时候会检测相关内核参数,除了在 Yaml 编写还不够,还得变更宿主机的相关参数。关于这些参数的内容变更,请参考以下内容:

变更 /etc/security/limits.conf 文件,为其追加以下内容:

* soft nofile 204800

* hard nofile 204800

* soft nproc 204800

* hard nproc 204800

* soft memlock unlimited

* hard memlock unlimited

跳转到 /etc/security/limits.d 目录下,修改相应的 conf 文件,为其追加以下内容:

* soft nproc unlimited

* hard nproc unlimited

最后重启服务器,以上内容都是基于 CentOS 7.x 进行编写。

运行

安装好 docker-compose 工具以后,直接在 Yaml 文件的根目录运行 docker-compose up -d 即可。如果正常的话,访问对应的机器即可。

以上是 Docker安装ELK 的全部内容, 来源链接: utcz.com/z/512831.html

回到顶部