10月 12, 2024 - docker docker容器中nginx用户生成的文件变成了mysql或其它用户已关闭评论
docker容器中nginx用户生成的文件变成了mysql或其它用户
1:docker容器中使用的nginx用户ID是1001,但最后自动生成的日志文件变成了mysql用户
原因:容器用户1001,会自动生成1001用户的文件,但由于宿主机中的1001是mysql则映射到宿主机中会变成了mysql.
解决,修改宿主机中运行代码的用户和用户组为1001,命令如下:
先把mysql服务或www用户相关的服务(php和docker等)停止。
修改占用1001的mysql的ID为其它ID
usermod -u 1004 mysql
groupmod -g 1004 mysql
修改www的用户和用户组ID为1001
usermod -u 1001 www
groupmod -g 1001 www
修改后,有root用户将项目所属人改为www: chown www: -R project。再删除docker容器后重新启动容器,删除原有的错误日志文件。
再次查看容器中nginx用户自动生成的文件所属人就是宿主机的www用户了: