您需要做的只是从主机本身更改挂载目录的权限,例如,如果主机上有以下目录
/home/lykos/laravel/data
您需要将其安装在Docker容器中,如下所示:
-
检查
UID
和
GID
在用来制造
例如,你可能会发现
UID
和
GID
具有
以下值
1000
然后从主机运行以下命令
命令
chown 1000:1000 /home/lykos/laravel/data
现在,laravel应用程序应该能够在您将其用作目标的任何目录中编写
/主页/lykos/laravel/data
并确保在没有确认您拥有正确权限的情况下不会对其进行修改,例如,除非您这样做,否则不要在其中手动创建另一个目录
chown
创建之后。
上述解决方案适用于将用于写入该目录的用户,如果有其他用户需要确保通过linux acl而不是使用world权限授予他们适当的权限(777)
假设您有一个容器作为web服务器,并且在从本地主机进行开发时需要将应用程序托管在容器中。假设用于开发的本地主机用户是
lykos
web服务器使用的容器用户是
33
对于
UID
和
GID
您可以从本地主机执行以下操作:
sudo chown 33:33 /home/lykos/laravel/data -R
sudo setfacl -Rm u:lykos:rwx,d:u:lykos:rwx /home/lykos/laravel/data
上面的命令将使web服务器能够访问和更新项目文件。并且还使本地主机能够修改当前文件和新创建的文件(请注意,如果您使用
莱科斯
需要创建的用户
乔恩
匹配web服务器uid)