![](/img/trans.png)
[英]Variable substitutions in docker-compose in Azure Docker Web app
[英]Azure Web App usage of WEBAPP_STORAGE_HOME variable in docker-compose
我正在尝试设置一个 web 应用程序,该应用程序通过文件共享到存储帐户具有持久存储。
我正在遵循 Microsoft 文档中的各种指南,并且我设法完成了大部分工作,我的应用程序具有持久存储。 但是现在,我想做的是,我想将 map 卷添加到我的存储帐户中。
我看到有这个变量${WEBAPP_STORAGE_HOME}
可以在我的 docker-compose 中使用。
我的问题是,这个变量的值是多少? 文档state:
${WEBAPP_STORAGE_HOME}
是应用服务中的一个环境变量,它映射到应用的持久存储。
我觉得这有点模糊。 它是否自动知道 map 我的路径映射? 如果我有多个路径映射怎么办? 我应该在Configuration
刀片的应用程序设置中设置值吗? 如果是这样,我需要指定什么,安装路径?
除此之外,我看到它的用法如下:
version: '3.3'
services:
wordpress:
image: mcr.microsoft.com/azuredocs/multicontainerwordpress
volumes:
- ${WEBAPP_STORAGE_HOME}/site/wwwroot:/var/www/html
ports:
- "8000:80"
restart: always
我在 docker-compose 中使用了命名卷。 我认为没有必要指定类似的东西?
更新在@Jason Pan 的回答之后,我试着玩了一下坐骑。
我成功地使用以下 docker-compose 在应用服务上持久化存储:
# ... lines skipped for brevity
volumes:
- mysql-data:/var/lib/mysql
volumes:
mysql-data:
driver: local
但我想将数据保存在存储帐户上。 我看到这是可能的: AppService/Configuration/Path Mappings
。
我的 Docker 作曲
# ...
volumes:
- MyMountedPath:/var/lib/mysql
在这个 docker-compose 文件中,我有我的应用程序和 MySQL 图像:准确地说是mysql:8
。
我安装了如下路径: Name: MyMountedPath; Mounted Path: /usr/local/mysql; Type: Azure Files...
Name: MyMountedPath; Mounted Path: /usr/local/mysql; Type: Azure Files...
Name: MyMountedPath; Mounted Path: /usr/local/mysql; Type: Azure Files...
我在日志中收到以下错误:
2021-04-08T11:02:06.790578922Z chown:更改“/var/lib/mysql/”的所有权:不允许操作
2021-04-08T11:02:12.785079208Z 2021-04-08 11:02:12+00:00 [注意] [入口点]:MySQL 服务器 8.0.23-1debian10 的入口点脚本已启动。
由于它适用于第一种方法,我怀疑我的路径映射的定义方式存在一些问题。 这让我想到了更多的问题:
/foo/bar
吗?MyMountedPath
,我可以在 docker-compose 文件中指定类似volumes:
- MyMountedPath/foo:/something
基本上,在安装路径中导航?
示例:在应用服务属性中,我挂载了一个 Azure 文件共享并提供了名称
我的外部存储
在 docker 组合配置中,我必须设置
卷:
- 我的外部存储:/var/www/html/contao
感谢 TeddyDubois29 的回答,希望它也能帮助到你。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.