Windows docker: 权限被拒绝 /var/run/docker.sock

Windows docker: permission denied /var/run/docker.sock

当我尝试 运行 带自动发现的 filebeat 时,出现以下错误:

Exiting: error in autodiscover provider settings: Got permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Get http://%2Fvar%2Frun%2Fdocker.sock/v1.22/containers/json?limit=0: dial unix /var/run/docker.sock: connect: permission denied

我通过 docker 设置在 tcp://localhost:2375 上暴露了守护进程。

我检查过我的用户是 "docker-users" 组的成员。

docker-compose.yml:

filebeat:
    image: store/elastic/filebeat:7.3.0
    volumes:
      - ./config/filebeat.yml:/usr/share/filebeat/filebeat.yml:ro
      - /var/lib/docker/containers/:/var/lib/docker/containers/:ro
      - /var/run/docker.sock:/var/run/docker.sock:ro

user: root 添加到 docker-compose.yml 修复套接字访问:

filebeat:
    image: store/elastic/filebeat:7.3.0
    volumes:
      - ./config/filebeat.yml:/usr/share/filebeat/filebeat.yml:ro
      - /var/lib/docker/containers/:/var/lib/docker/containers/:ro
      - /var/run/docker.sock:/var/run/docker.sock:ro
    user: root