有关docker容器内权限的奇怪错误

时间:2017-01-19 16:47:01

标签: docker

我正在运行已应用自定义权限的官方tomcat映像(https://github.com/docker-library/tomcat/tree/master/8.5/jre8):我已经创建了一个tomcat:tomcat用户和组,并使他成为/ usr / local / tomcat的所有者所有子目录。

在/ usr / local / tomcat中,当我做"触摸测试"或者" mkdir testdir",它有效,但如果我在"工作"子目录或任何子目录,它都失败了。

tomcat@462080a55bca:/usr/local/tomcat$ ll | grep work
drwxr-x---  2 tomcat tomcat  4096 Jan 10 21:03 work

tomcat@462080a55bca:/usr/local/tomcat$ touch work/test
touch: cannot touch ‘work/test’: Permission denied

tomcat@462080a55bca:/usr/local/tomcat$ mkdir work/testdir
mkdir: cannot create directory ‘work/testdir’: Permission denied

任何人都可以告诉我为什么?

1 个答案:

答案 0 :(得分:1)

这是linux Kernel中的一个错误(也可能是aufs / overlay2)。 它已在内核> = 4.7中修复 有关详情,请参阅此处:https://github.com/docker/docker/issues/30285

Justin Cormack(Docker的工程师)提供的其他信息:"其中许多修复程序被反向移植到稳定的4.4内核","具有4.9内核的新Debian稳定版将在几个月,Docker for AWS和Azure也有4.9内核。" (对于Debian来说,它实际上是4.10,可能晚于预期,但仍然是2017年上半年)。