Windows 主机上 Docker 的卷映射 filebeat.yml 权限

Nat*_*lch 3 windows virtualbox docker docker-compose filebeat

我正在尝试通过 Windows 主机上的 VirtualBox 运行官方 5.4.3 Filebeat docker 容器。我没有创建自定义映像,而是使用卷映射将filebeat.yml文件传递到使用自动创建的 VirtualBox 挂载/c/Users(指向C:\Users我的主机)的容器。

不幸的是我陷入了这个错误:

退出:加载配置文件时出错:配置文件(“filebeat.yml”)只能由所有者写入,但权限为“-rwxrwxrwx”(要修复权限,请使用:'chmod go-w /usr/share/filebeat/文件beat.yml')

我的 docker-compose 配置是:

filebeat:
  image: "docker.elastic.co/beats/filebeat:5.4.3"
  volumes:
   - "/c/Users/Nathan/filebeat.yml:/usr/share/filebeat/filebeat.yml:ro"
   - "/c/Users/Nathan/log:/mnt/log:ro"
Run Code Online (Sandbox Code Playgroud)

我尝试通过 SSH 连接到机器并运行命令,chmod go-w但没有任何变化。在 Windows 主机上使用 VirtualBox 共享文件夹时,这是某种权限限制吗?

Nat*_*lch 6

看起来这是 Windows DACL 权限系统的副作用。幸运的是,我只需要在开发环境中使用它,因此我只是通过覆盖容器入口点并传递参数来禁用权限检查strict.perms

filebeat:
  image: "docker.elastic.co/beats/filebeat:5.4.3"
  entrypoint: "filebeat -e -strict.perms=false"
  volumes:
   - "/c/Users/Nathan/filebeat.yml:/usr/share/filebeat/filebeat.yml:ro"
   - "/c/Users/Nathan/log:/mnt/log:ro"
Run Code Online (Sandbox Code Playgroud)