如何使用 Docker-compose 文件在 Azure WebApp 上部署 Grafana?
Posted
技术标签:
【中文标题】如何使用 Docker-compose 文件在 Azure WebApp 上部署 Grafana?【英文标题】:How I deploy Grafana on Azure WebApp with Docker-compose file? 【发布时间】:2021-07-11 05:59:25 【问题描述】:我想使用 Grafana 将监控仪表板部署为使用 Azure-cloud 的 Web 应用程序,并与我的团队成员共享。
但我发现了一些问题: (1) 在Docker-compose中,Grafana需要volumes来存储数据。 (2) 所以我做了 Azure Storage & File share。并将此存储路径映射到 Webapp。
存储挂载如下。
姓名:姓名姓名 映射路径:/var/lib/grafana 格式:AzureFiles (3) 这是我的 docker-compose.ymlservices:
grafana:
image: grafana/grafana
ports:
- 3001:3000
volumes:
- namename:/var/lib/grafana
(4) 在我构建它之后,我的 webapp 关闭了,并显示了下面的屏幕。
enter image description here
错误日志是这样的。
service init failed: migration failed: database is locked
Logging is not enabled for this container.
我不知道是什么问题,以及如何解决它。 另外,我想附加存储并检查其内部。
我该怎么做?
【问题讨论】:
关于这个问题的任何更新?它解决了你的问题吗? 抱歉我检查晚了。我按照你说的重写了路线,它奏效了!感谢您的回答。 【参考方案1】:当您将 Azure 文件共享装载到容器时,您装载的路径将具有根所有者和组。但是镜像是用grafana
这个用户运行的,所以没有迁移文件的权限。
解决办法是挂载到镜像中不存在的新路径。例如,路径/var/lib/grafana-data
。那么它会运作良好。然后你需要自己将数据从路径/var/lib/grafana
复制到路径/var/lib/grafana
上面持久化它们。
【讨论】:
以上是关于如何使用 Docker-compose 文件在 Azure WebApp 上部署 Grafana?的主要内容,如果未能解决你的问题,请参考以下文章
如何在 AWS Elastic Container Service 中使用现有的 docker-compose.yml 文件?
docker-compose:如何立即查看文件更改(开发时)