无法在Azure App服务中挂载音量?

时间:2019-08-13 06:29:32

标签: amazon-web-services azure docker azure-app-service-plans

我正在尝试通过docker容器在azure应用程序服务上部署Node SDK。在我的SDK中,我已经挂载了一个连接文件并为此编写了一个docker-compose。但是当我通过天蓝色部署它时,我得到了错误提示。

  

InnerException:Docker.DotNet.DockerApiException,Docker API响应   状态代码= InternalServerError,响应= {“ message”:“ invalid   卷规格:':/usr/src/app/connection.json'“}

docker-compose.yml

didSelectRowAt

connection.json存在于此路径version: '2' services: node: container_name: node image: dhiraj1990/node-app:latest command: [ "npm", "start" ] ports: - "3000:3000" volumes: - ${WEBAPP_STORAGE_HOME}/site/wwwroot/connection.json:/usr/src/app/connection.json

Dockerfile

/site/wwwroot

请告诉我问题是什么?

1 个答案:

答案 0 :(得分:3)

更新

问题是您无法将文件装载到持久性存储中,它应该是目录。因此,正确的音量应设置如下:

volumes:
      - ${WEBAPP_STORAGE_HOME}/site/wwwroot:/usr/src/app

并且您还需要通过设置环境变量WEBSITES_ENABLE_APP_SERVICE_STORAGE=TRUE在Web应用程序中为容器启用持久存储。有关更多详细信息,请参见Add persistent storage

持久性存储仅用于持久化容器中的数据。而且,如果要将文件共享到容器,建议将Azure文件共享安装到容器。但是您需要在这里注意以下注意事项:

  

将网络应用程序中的现有目录链接到存储帐户将   删除目录内容。

因此,您需要将Azure文件共享挂载到新目录,而不需要任何文件。并且您可以获得有关Configure Azure Files in a Container on App Service中步骤的更多详细信息。它不仅支持Windows容器,还支持Linux容器。