You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

docker-compose如何访问Windows宿主机文件?以Loki的Promtail配置为例

Windows Docker Compose环境下Promtail读取宿主机本地日志解决方案

问题原因

运行在Docker容器内的Promtail默认无法直接访问Windows宿主机的本地文件系统路径,直接在Promtail采集配置中填写宿主机的本地磁盘路径会出现无法读取日志的问题。

配置调整步骤

1. 修改docker-compose.yml的promtail服务配置

新增volumes挂载规则,将宿主机存放日志的目录映射到Promtail容器内部的指定路径,配置示例如下:

promtail:
    image: grafana/promtail:2.4.0
    volumes:
      # 冒号左侧为Windows宿主机日志目录路径,右侧为映射到容器内部的路径
      - F:/project/test/src/logs:/test/logs
    command: -config.file=/etc/promtail/config.yml
    networks:
      - loki

2. 修改Promtail采集配置中的路径参数

将采集规则中的__path__参数值修改为上一步中映射到容器内部的路径,调整后的配置示例如下:

- job_name: test
  static_configs:
  - targets:
      - test
    labels:
      job: test
      # 此处填写容器内部的日志路径,匹配该路径下所有.log后缀的日志文件
      __path__: "/test/logs/*.log"

核心逻辑

通过Docker的volumes目录挂载能力,将Windows宿主机的日志目录映射到Promtail容器内部的可访问路径,再将Promtail的采集路径对应修改为容器内的路径即可正常读取宿主机日志。

内容的提问来源于stack exchange,提问作者Navneet Garg

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.25 15:24:03