Docker Azure webapp 的卷行为
Docker volumes behavior with azure webapp
在 docker 文件中指定 docker 卷时,docker 会在容器启动时创建一个卷。正如预期的那样,当以预期路径登录到容器时,定义的目录就在那里。
但是,当 Linux 在 Azure Webapp 中使用相同的图像时,登录到容器时,预期的路径和文件不存在。
azure webapp 是否不支持此功能,或者是否有某些我缺少但需要启用的设置?
我不是在谈论安装 filesystem/storage 帐户 here.
那不行。另一种方法是启用 Persistent Storage 并创建一个 Docker Compose 文件,即使您只有一个容器,您也可以在其中指定一个卷。然后使用 multi-container 选项并上传 YAML 文件。
通过设置应用程序设置 WEBSITES_ENABLE_APP_SERVICE_STORAGE = TRUE 启用持久存储。您可以从门户或使用 CLI 执行此操作。
az webapp config appsettings set -g myResourceGroup -n <app-name> --settings WEBSITES_ENABLE_APP_SERVICE_STORAGE=TRUE
${WEBAPP_STORAGE_HOME}环境变量将指向VM的/home文件夹运行 你的容器。用它来映射文件夹和卷。
version: '3.3'
services:
wordpress:
image: myimage
volumes:
- ${WEBAPP_STORAGE_HOME}/site/wwwroot:/var/www/html
ports:
- "80:80"
restart: always
在 docker 文件中指定 docker 卷时,docker 会在容器启动时创建一个卷。正如预期的那样,当以预期路径登录到容器时,定义的目录就在那里。 但是,当 Linux 在 Azure Webapp 中使用相同的图像时,登录到容器时,预期的路径和文件不存在。
azure webapp 是否不支持此功能,或者是否有某些我缺少但需要启用的设置? 我不是在谈论安装 filesystem/storage 帐户 here.
那不行。另一种方法是启用 Persistent Storage 并创建一个 Docker Compose 文件,即使您只有一个容器,您也可以在其中指定一个卷。然后使用 multi-container 选项并上传 YAML 文件。
通过设置应用程序设置 WEBSITES_ENABLE_APP_SERVICE_STORAGE = TRUE 启用持久存储。您可以从门户或使用 CLI 执行此操作。
az webapp config appsettings set -g myResourceGroup -n <app-name> --settings WEBSITES_ENABLE_APP_SERVICE_STORAGE=TRUE
${WEBAPP_STORAGE_HOME}环境变量将指向VM的/home文件夹运行 你的容器。用它来映射文件夹和卷。
version: '3.3'
services:
wordpress:
image: myimage
volumes:
- ${WEBAPP_STORAGE_HOME}/site/wwwroot:/var/www/html
ports:
- "80:80"
restart: always