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

时间:2017-07-05 12:27:12

标签: windows docker virtualbox 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/filebeat.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"

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

1 个答案:

答案 0 :(得分:1)

看起来这是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"