Docker 装载特定于操作系统的卷

Docker 装载特定于操作系统的卷,docker,docker-compose,Docker,Docker Compose,我试图设置一个filebeat docker容器,它需要从所有其他运行的容器访问生成的docker日志。为此,我装载了如下卷: filebeat: build: filebeat volumes: - /var/lib/docker/containers:/var/lib/docker/containers:ro - /var/run/docker.sock:/var/run/docker.sock depends_on: - el

我试图设置一个filebeat docker容器,它需要从所有其他运行的容器访问生成的docker日志。为此,我装载了如下卷:

  filebeat:
    build: filebeat
    volumes:
      - /var/lib/docker/containers:/var/lib/docker/containers:ro
      - /var/run/docker.sock:/var/run/docker.sock
    depends_on:
      - elk
我的问题:

docker日志的路径取决于docker compose运行的机器。上述方法适用于Linux,但不适用于我的windows计算机。当我运行上述命令时,会出现以下错误:

错误:for filebeat无法为服务filebeat创建容器: b'装载被拒绝:\n源路径 “\\var\\lib\\docker\\containers:/var/lib/docker/containers”\nis 不是有效的Windows路径'


我必须将
COMPOSE\u CONVERT\u WINDOWS\u path
env变量设置为1。使用Windows Powershell只需运行以下命令:

$Env:COMPOSE_CONVERT_WINDOWS_PATHS = "1"
要检查是否已实际设置,请运行:
$Env:COMPOSE\u CONVERT\u WINDOWS\u path

然后重新启动docker compose:

docker-compose stop
docker-compose up