Docker给自己创build的挂载点赋予奇怪的权限

我正在使用ACL来确保从主机到卷的写访问权限。 我有一个docker-compose.yml ,例如MySQL和MongoDB在Docker卷中有数据目录。 这些卷的背后并不相关。 它甚至发生空的未使用的容器文件夹。

如果卷对的本地文件夹不存在,Docker会创build它并设置一些奇怪的权限。 如果该文件夹已经在那里,权限是正常的如预期。

在项目的根目录中,我设置了ACL:

 sudo setfacl -R -mu:mri:rwX . sudo setfacl -dR -mu:mri:rwX . 

例如docker-compose.yml包含:

 mongo: image: mongo:3.0 volumes: - ./docker/var/mongo:/data/db 

当我启动容器和Docker创buildmongo目录时,它崩溃的权限,我得到这个:

 $ getfacl docker/var/mongo # file: docker/var/mongo # owner: 999 # group: root user::rwx user:mri:rwx #effective:rx group::rwx #effective:rx mask::rx other::rx default:user::rwx default:user:mri:rwx default:group::rwx default:mask::rwx default:other::rx 

在这一点上,我没有写访问了。

如果之前存在文件夹,则不会发生这种情况。 如果我再次运行setfacl命令,我再次访问。 但在我的自动化工作stream程中,这是不可能的,它不会是一个真正的解决scheme。

为什么会发生这种情况,以及如何让Docker在不改变权限的情况下创build这个文件夹?