使用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 参数用于在后台运行服务。