使用Docker Compose部署Loki非常便捷,这里是一个简化的docker-compose.yaml
示例配置文件来部署Loki:
version: '3'
services:
loki:
container_name: loki
image: grafana/loki:latest # 使用最新的Loki镜像
ports:
- "3100:3100" # 将容器内部的3100端口映射到主机的3100端口上
command: -config.file=/etc/loki/local-config.yaml # 指定Loki的配置文件路径(具体路径视实际情况而定)
# 如果需要持久化存储数据,可以添加卷映射
volumes:
- ./loki-storage:/var/loki # 把主机上的loki-storage目录挂载到容器内的/var/loki,以便持久化存储日志数据
# 如果还需要部署Promtail或其他组件以自动收集容器日志,可以添加额外的服务配置
promtail:
container_name: promtail
image: grafana/promtail:latest
volumes:
- /var/log:/var/log # 挂载宿主机日志目录(Linux环境)
- ./promtail-config.yaml:/etc/promtail/config.yaml # 挂载Promtail的配置文件
depends_on:
- loki
restart: always
command: -config.file=/etc/promtail/config.yaml # 指定Promtail的配置文件路径
networks:
default:
name: loki-network # 创建一个网络让Loki和Promtail等服务能够相互访问
请根据实际需求修改上述配置中的端口映射、数据卷映射以及配置文件路径。此外,为了使Promtail能够收集容器内的日志并将它们发送给Loki,你需要正确配置Promtail的config.yaml
文件,指向Loki的地址和其他相关设置。
要启动这个堆栈,请确保docker-compose.yaml
文件在当前工作目录下,然后执行以下命令:
docker-compose up -d
这将会下载所需的镜像(如果尚未下载的话),并启动Loki和Promtail服务(如果配置了的话)。 -d
参数用于在后台运行服务。