我在 nginx 上有一个 magento 部署,它使用持久卷和持久卷声明。一切正常,但我正在努力解决一个问题。我正在使用initContainer通过cli安装magento(工作正常)但是我的POD启动并将PVC安装到/var/www/html
(我的webroot)之前的数据(在initContainer中)安装的数据丢失(或者更好地被新的山)。我的解决方法是将 magento 安装到/tmp/magento
(在 initContainer 中),一旦“真正的”POD 启动,数据/tmp/magento
就会被复制到/var/www/html
. 正如您可以想象的那样,这需要一段时间并且有点像权限地狱,但它确实有效。
有什么办法可以直接在目标目录中安装我的应用程序,而无需“过度映射”我的文件?我必须使用 PV/PVC,因为我通过 NFS 安装 POD 目录,而且我不想丢失我的文件。
更新:Magento 部署位于 docker 映像中,并在 docker 构建期间安装。因此,如果我将数据安装到目标位置,kubernetes 挂载会将数据替换为空挂载。这是解决方法的主要原因。目标是让整个安装在图像中。