2017-02-03 44 views
0

鉴于我有2个容器,Weblogic和Tomcat。与共享主机驱动器挂载到两个码头集装箱的权限问题

Weblogic在oracle用户下运行,Tomcat在root用户下运行。

我使用同一个卷映射两种服务,使部署在Tomcat的该应用程序编排的业务流程中,应用程序部署在Weblogic的将文件保存到共享文件夹。

我遇到的权限问题出来,因为在Tomcat下运行根和Weblogic的下运行Oracle无法保存文件(用根所有者和组创建的目录结构)。

什么是处理共享主机数据文件夹两个容器之间,并避免与权限问题的最佳方式是什么?

回答

0

的Unix/Linux中的解决方案,这是为使用:

  1. 相同的UID和开放权限对用户
  2. 上的基团的上述
  3. 无相同GID和开放权限并为所有人开放权限

这些选项全部适用于在容器内部运行的应用程序。

第三个选项是最理想的,因为它允许主机上的任何人都可以修改这些文件。但是,实现它是一个快速chmod -R 777 dir并将umask更新为任何在该目录中创建文件的应用程序的000。

这使得选项1或2方案1级的装置要么丢弃根为Tomcat,或跑步的Weblogic作为根,前者是优选的,但取决于应用可能是不可能的。

如果选项1不可行,请尝试在两个应用程序之间使用通用组。将用户添加到这两个映像中的相同GID中,并在您的目录中将该组更改为该公共GID,并在您的权限中设置该组粘滞位,以确保该目录中的每个文件都被创建为该组。

chgrp $gid dir 
chmod g+s dir