由于文件持久性而从应用服务转移到 Docker 容器?

Posted

技术标签:

【中文标题】由于文件持久性而从应用服务转移到 Docker 容器?【英文标题】:Shifting from App Services to a Docker container due to file persistence? 【发布时间】:2022-01-15 18:50:37 【问题描述】:

通过 SSH 连接到我的应用服务(普通 php 7.4 应用服务)时,我可以看到:

Note: Any data outside '/home' is not persisted

如果我的php.iniapache2.conf 位于/home 之外,我将永远无法对这些文件进行更改,这对吗? IIRC,我无法修改 apache2.conf 以在 /home 内为 php.ini 设置另一个位置,Apache 配置更改将永远不会持续 Apache 重启。

这只意味着我需要构建一个 docker 容器来完全控制我的设置?我理解正确吗?

【问题讨论】:

这可能会有所帮助:docs.microsoft.com/en-us/azure/app-service/… 啊哈,.. .htaccess,我没想到! 【参考方案1】:

感谢@CSharpRocks 发布您的建议作为答案,以帮助其他社区成员解决类似问题。

基于MS DOC:

自定义 PHP_INI_SYSTEM 指令,我们不能使用 _.htaccess_ 方法。应用服务使用PHP_INI_SCAN_DIR 应用设置提供单独的机制。首先,运行 在 Cloud Shell 中执行以下命令以添加名为 PHP_INI_SCAN_DIR.
az webapp config appsettings set --name <app-name> --resource-group <resource-group-name> --settings PHP_INI_SCAN_DIR="/usr/local/etc/php/conf.d:/home/site/ini"

例如如果想改变expose_php的值运行 以下命令:


    cd /home/site
    mkdir ini
    echo "expose_php = Off" >> ini/setting.ini

更多信息请参考SO THREAD

【讨论】:

以上是关于由于文件持久性而从应用服务转移到 Docker 容器?的主要内容,如果未能解决你的问题,请参考以下文章

docker创建容器数据持久化资源限制基础命令

Docker迁移学习及其他

Docker SwarmScale 扩(缩)容服务

docker容器卷技术讲解

如何将 Realm 数据库转移到应用程序组

docker导入dmp文件到oracle容器