Linux Docker为自行创建的装入点授予奇怪的权限

Linux Docker为自行创建的装入点授予奇怪的权限,linux,docker,docker-compose,acl,Linux,Docker,Docker Compose,Acl,我使用ACL来确保主机对卷具有写访问权限。我有一个docker compose.yml,例如MySQL和MongoDB在docker卷中有数据目录。这与这些卷背后的内容无关。它甚至会清空未使用的容器文件夹 如果卷对的本地文件夹不存在,Docker将创建它并设置一些奇怪的权限。如果文件夹已存在,则权限正常 在项目的根目录中,我设置了ACL: sudo setfacl -R -m u:mri:rwX . sudo setfacl -dR -m u:mri:rwX . 例如,docker-compo

我使用ACL来确保主机对卷具有写访问权限。我有一个docker compose.yml,例如MySQL和MongoDB在docker卷中有数据目录。这与这些卷背后的内容无关。它甚至会清空未使用的容器文件夹

如果卷对的本地文件夹不存在,Docker将创建它并设置一些奇怪的权限。如果文件夹已存在,则权限正常

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

sudo setfacl -R -m u:mri:rwX .
sudo setfacl -dR -m u:mri:rwX .
例如,docker-compose.yml包含:

mongo:
  image: mongo:3.0
  volumes:
    - ./docker/var/mongo:/data/db
当我启动容器并Docker创建mongo目录时,权限崩溃,我得到以下结果:

$ getfacl docker/var/mongo
# file: docker/var/mongo
# owner: 999
# group: root
user::rwx
user:mri:rwx            #effective:r-x
group::rwx              #effective:r-x
mask::r-x
other::r-x
default:user::rwx
default:user:mri:rwx
default:group::rwx
default:mask::rwx
default:other::r-x
在这一点上,我再也没有写权限了

如果文件夹以前存在,则不会发生这种情况。如果我再次运行setfacl命令,我确实可以再次访问。但在我的自动化工作流程中,这是不可能的,也不是真正的解决方案


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

在使用Ubuntu 16的主机上,以及在另一台使用Ubuntu 18的主机上,同样的命令正常工作(有效权限为
rwx
)。从昨天起我们就一直在努力解决这个问题。我们甚至添加了
setfacl-dRm:rwx
,但当容器启动时,我们在目录上设置
rwx
时仍然有效:(