我们有一个正在尝试在 Azure 应用服务中运行的自定义容器映像。该映像有一个 shell 脚本作为入口点,它执行许多命令,其中一些与文件 IO 相关。我们需要通过更改配置来开启 Persisten Storage WEBSITES_ENABLE_APP_SERVICE_STORAGE = true
。
容器无法启动,通过查看日志,我们看到进程在以下语句期间挂起:
echo "start"
tar cf - --one-file-system -C /usr/src/folder . | tar xf -
echo "end"
该语句基本上是压缩一个文件夹并将其提取到/home/site/wwwroot
目录中,该目录是在App Service中持久化的。
我们可以看到start
正在记录在日志中,但我们看不到end
,这使我们相信进程挂在tar
语句上,但我们看到一些文件和文件夹被复制。
如果我们设置WEBSITES_ENABLE_APP_SERVICE_STORAGE = false
一切都按预期工作......当然,直到restart
容器的 a ,我们放弃所有更改。因此我们需要持久存储。此外,这在我指向外部卷的本地机器上运行良好。
是什么赋予了?