如何在Azure Web App for Containers中挂载yaml文件至aler9/rtsp-simple-server容器
解决方案:挂载YAML配置到Azure Web App容器中的rtsp-simple-server
先确认Azure文件共享配置没问题
把你的rtsp-simple-server.yml上传到Azure存储账户的文件共享里,然后去Azure Web App的「配置」页面添加存储挂载:- 类型选Azure Files
- 选对应的存储账户和文件共享名
- 挂载路径填容器内的绝对路径,比如
/config(后续容器要从这里读配置)
修正docker-compose.yml的挂载语法
Azure Web App不认本地卷的写法,必须用外部卷引用已配置的存储挂载,示例如下:services: rtsp-server: image: aler9/rtsp-simple-server volumes: # 格式:<Web App里设置的挂载名称>:<容器内路径> my-azure-fileshare:/config # 指定容器读取挂载的yaml文件 command: ["/rtsp-simple-server", "/config/rtsp-simple-server.yml"] ports: - "8554:8554" volumes: my-azure-fileshare: external: true # 必须加,因为这是Azure管理的外部卷注意:
my-azure-fileshare要和你在Web App配置里给挂载起的名称完全一致。排查权限问题
有时候容器运行用户没权限读取挂载目录的文件,可以临时用root用户测试:services: rtsp-server: # ...其他配置 user: "root"如果用root能正常启动,再调整文件共享权限或者容器内用户的权限。
验证挂载是否生效
进容器里检查配置文件是否存在:- 打开Azure Portal的Web App页面,进入「高级工具」>「SSH」
- 连接到rtsp-server容器
- 执行
ls /config看有没有rtsp-simple-server.yml,再用cat命令确认内容
看日志找具体错误
从你提供的错误截图来看,大概率是配置文件找不到或者路径错了。去Web App的「日志流」里看容器启动日志,比如有没有open /xxx.yml: no such file or directory的提示,根据提示调整路径或命令。
内容的提问来源于stack exchange,提问作者Lakshman.S
相关产品推荐
相关产品推荐

