我们正在尝试整合一些旧的未记录的PHP网络应用程序。为了使这些应用程序可以在不同的环境之间移植,我们将它们集成到一起我们不应该改变代码,除了一些配置文件。如何管理用户和组在多个容器之间共享数据?
我们使用了一个自定义的php-5.4-apache
容器,该容器将主机文件夹挂载到/var/www/html
以提供Web应用程序。 Apache服务器运行为www-data
用户。 entrypoint
被配置为在/var/www/html
文件夹上设置正确的文件夹和文件权限,并将所有权更改为www-data
。
其中一个网络应用程序通过Http上载图像,然后使用Ftp和someUser
凭据将其移动到其他文件夹。这要求我们有一个额外的容器运行Ftp服务器。
问题是文件被正确上传,但不能使用Ftp移动。似乎有权限问题。
我们的假设是,如果FTP服务器和在哪里可以在同一台机器下托管的HTTP服务器,我们应该有www-data
和someUser
用户在同一组someGroup
。而且/var/www/html
内容应归anyUser:someGroup
所有。
当Ftp和Http服务器运行在不同的容器中并且数据从主机挂载时,我们如何实现这一目标?