我正在尝试通过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
请告诉我问题是什么?
答案 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容器。