Docker 安装 ELK
程序员文章站
2022-06-22 12:14:46
安装 首先安装 "Docker" 与 "Docker Compose" 相关的组件,我们这里直接使用准备好的 "ELK 镜像" ,执行以下命令从 Dockerhub 上拉取指定版本的镜像,在本例当中我使用的是 7.40 版本。 配置 为其编写 文件,内容如下: 上面的 Yaml 文件内容大概意思就是 ......
安装
首先安装 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
即可。如果正常的话,访问对应的机器即可。