鉴于我有2个容器,Weblogic和Tomcat。
Weblogic在oracle用户下运行,Tomcat在root用户下运行。
我对两种服务使用相同的卷映射,因此部署在Tomcat中的应用程序编排业务流程,其中部署在Weblogic中的应用程序将文件保存到该共享文件夹。
我遇到了权限问题,因为Tomcat在root下运行(使用root owner和group创建目录结构),而在oracle下运行的Weblogic无法保存文件。
在两个容器之间处理共享主机数据文件夹的最佳方法是什么?避免权限问题?
答案 0 :(得分:0)
unix / linux解决方案是使用:
这些选项对于在容器内运行的应用程序都适用。
第三个选项是最不理想的,因为它允许主机上的任何人修改这些文件。但是,实现它是一个快速的chmod -R 777 dir
,并且对于在该目录中创建文件的任何应用程序,将umask更新为000。
留下选项1或2.选项1表示为Tomcat删除root,或以root身份运行Weblogic,前者是首选,但可能无法取决于应用程序。
如果选项1不可用,请尝试在两个应用之间使用通用组。将用户添加到两个映像中的相同GID,并在目录中将组更改为该公共GID,并在权限中设置组粘滞位,以确保该目录中的每个文件也都创建为该组。
chgrp $gid dir
chmod g+s dir