代码之家  ›  专栏  ›  技术社区  ›  kentor

装载操作系统特定卷

  •  0
  • kentor  · 技术社区  · 6 年前

    我正在尝试设置一个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'mount denied:\n源路径 “\\var\\lib\\docker\\containers:/var/lib/docker/containers”\nIS 不是有效的Windows路径'

    1 回复  |  直到 6 年前
        1
  •  0
  •   kentor    6 年前

    我必须设置 COMPOSE_CONVERT_WINDOWS_PATHS env变量为1。使用windows powershell只需运行以下命令:

    $Env:COMPOSE_CONVERT_WINDOWS_PATHS = "1"
    

    要检查它是否实际设置为运行: $Env:COMPOSE_CONVERT_WINDOWS_PATHS

    然后重新启动Docker组合:

    docker-compose stop
    docker-compose up