繁体   English   中英

Azure Web 服务环境变量不适用于 Azure 容器注册表 (ACR) 映像

[英]Azure Web Service env-variables not working with Azure Container Registry (ACR) image

我对 Azure 和 Docker 比较陌生,遇到了一些问题。

我们正在使用 Laravel 8 和 Docker 在工作中构建 web 应用程序。 我们有本地 Ubuntu VM,我们在其中提取最新的 git 提交,然后使用 Z045B6053B15D21 构建 Docker 命令构建 Docker 映像。 然后我们标记并将我们的图像推送到我们的远程 Azure 容器注册表,它与我们的 Azure Web 服务位于同一资源组中。

现在的事情是:当我尝试说在 Azure 门户的配置部分中添加我的数据库凭据时,当 Azure ZC6E190B284633C48E39E55049DA3 使用网站最新的 ACRCE 图像服务时,不会读取这些变量像 port 和 website_port 这样的变量会起作用,但我的数据库凭证和其他东西(比如我的 MAIL SMTP 凭证)不起作用。

但是,当我尝试将这些变量放在我的 Ubuntu VM 内的 dedicated.env 文件中,然后使用包含的 .env 文件构建映像时,就会识别凭据。 但这是不好的行为,因为我们不希望我们的 .env 文件包含在 ACR 映像中。 这就像将 a.env 文件添加到您的 git 存储库中一样。 它不应该出现在图像中。

这是如何运作的?

所以我设法自己修复它。

What I did was add the php artisan optimize command as a start-up command to my start-container Bash script which is included in Laravel by default when you're using Laravel Sail.

无法识别我的门户变量的原因与我的应用程序仍然指向我图像中的 old.env 变量这一事实有关。 清除然后重新缓存配置变量就可以了。 现在每次 Azure 启动容器时,它都会运行 artisan 命令来重新配置门户变量。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM