将Azure应用程序服务中的Docker容器装载为只读文件系统
Docker有一个将Azure应用程序服务中的Docker容器装载为只读文件系统,azure,docker,azure-web-app-service,github-actions,Azure,Docker,Azure Web App Service,Github Actions,Docker有一个run命令,该命令接受一个--read-only参数,用于装载带有只读文件系统的容器。有没有一种方法可以设置Azure应用程序服务槽,以从Azure容器注册表运行容器,该注册表具有只读文件系统?我在web控制台中找不到任何文档或设置来配置它 我当前的设置是使用GitHub操作工作流,通过docker/build push action和azure/webapps deploy操作来构建和部署容器。我的应用程序是一个Python Django应用程序,作为安全评估的一部分,我被指
run
命令,该命令接受一个--read-only
参数,用于装载带有只读文件系统的容器。有没有一种方法可以设置Azure应用程序服务槽,以从Azure容器注册表运行容器,该注册表具有只读文件系统?我在web控制台中找不到任何文档或设置来配置它
我当前的设置是使用GitHub操作工作流,通过
docker/build push action
和azure/webapps deploy
操作来构建和部署容器。我的应用程序是一个Python Django应用程序,作为安全评估的一部分,我被指示让应用程序在只读环境中运行,以防止运行时修改应用程序的代码。我已经确保我的应用程序的任何部分都不需要能够写入Docker容器的文件系统,所以现在我需要做的就是确保文件系统不能被修改。不幸的是,您无法更改Azure应用程序服务用于运行容器的Docker命令。实际上,您无法使用该命令。所有的集装箱都是临时的。如果您只想运行容器,而不需要持久化数据。那你什么都不用做。应用程序服务在您删除后不会影响文件系统。Azure应用程序服务的Docker容器无法以只读模式运行(以只读模式装载主机的根文件系统)
您可以直接从ZIP包在Azure应用程序服务中运行应用程序,ZIP包本身直接作为只读wwwroot目录装入。
直接从软件包运行有多个好处:
- 消除部署和运行时之间的文件锁定冲突
- 确保在任何时候都只运行完全部署的应用程序
很高兴知道。实际上,我正试图阻止应用程序源代码的运行时修改,以响应我们收到的安全评估(我更新了我的问题以反映这一点)。