某个测试项目偶尔会报某个日志文件无写入权限permission denied,去到服务器查看寻找原因,发现进程的运行用户是www-data,在容器内和容器外查看都是同一个用户,按理说是没问题了才对。

开始搜索,网上说有通过把docker 启动指定运行为root的,但是对我们web服务来说,肯定不能这样操作。

再找到一个可能的原因,容器内和容器外的用户id不一致。

在宿主机外执行:

id wwww-data
uid=1004(www-data) gid=1004(www-data) groups=1004(www-data)

在对应的php-fpm容器内执行:

id wwww-data
uid=33(www-data) gid=33(www-data) groups=33(www-data)

好家伙!
问题找到了,这里使用

usermod -u www-data 33
groupmod -g www-data 33

此时解决,没有再报权限错误。

标签: none

评论已关闭