如何在容器的Azure Web App中装载Docker卷?

时间:2019-11-15 13:33:04

标签: azure docker-compose azure-storage krakend

我正在尝试在Azure App Service中运行KrakenD图像。

KrakenD需要将json配置文件krakend.json放入/ etc / krakend /中( KrakenD映像基于Linux Alpine

我为具有以下docker-compose文件的容器创建了Web App:

version: "3"
services:
  krakend:
    image: devopsfaith/krakend:latest
    volumes:
      - ${WEBAPP_STORAGE_HOME}/site/krakend:/etc/krakend
    ports:
      - "8080:8080"
    restart: always

使用blob容器添加了存储帐户,其中上传了示例kraken.json文件 enter image description here

在应用程序配置中,我添加了如下路径映射:

enter image description here

但是好像没有正确安装卷

  

2019-11-15 12:46:29.368错误-容器创建失败   krakend_krakend_0_3032a936 with System.AggregateException,一个或   发生了更多错误。 (Docker API响应状态   code = InternalServerError,响应= {“ message”:“无效的音量   规范:':/ etc / krakend'“}))(Docker API响应状态   code = InternalServerError,响应= {“ message”:“无效的音量   规范:':/ etc / krakend'“})InnerException:   Docker.DotNet.DockerApiException,Docker API响应状态   code = InternalServerError,响应= {“ message”:“无效的音量   规范:':/ etc / krakend'“}

     

2019-11-15 12:46:29.369错误-未启动多容器单元   成功

其他问题

  1. 在存储安装中安装路径是什么意思? -我在其中输入了 / krankend

  2. 卷定义以$ {WEBAPP_STORAGE_HOME} in docs开头,他们将其指定为

    卷:       -$ {WEBAPP_STORAGE_HOME} / site / wwwroot:/ var / www / html

所以我以此类推,尝试了所有3种可能的路径

${WEBAPP_STORAGE_HOME}/site/wwwroot/krakend
${WEBAPP_STORAGE_HOME}/site/krakend
${WEBAPP_STORAGE_HOME}/krakend

但没有运气-仍然出现错误

  

分析配置文件时出错:'/etc/krakend/krakend.json'   (打开):没有这样的文件或目录

2 个答案:

答案 0 :(得分:1)

使用以下docker-compose文件最终解决了该问题

version: "3"
services:
  krakend:
    image: devopsfaith/krakend:latest
    volumes:
      - volume1:/etc/krakend
    environment:
     WEBSITES_ENABLE_APP_SERVICE_STORAGE: TRUE
    ports:
      - "8080:8080"
    restart: always

其中volume1是如下安装的blob存储

enter image description here

答案 1 :(得分:0)

这对我不起作用。我收到Bind mount must start with ${WEBAPP_STORAGE_HOME}.

这有效。 docker-compose.yml

version: "3"
services:

  backend:
    image: xxxx
    ports:
      - 80:80
    volumes:
      - vol1:/var/www/html/public

volumes: 
   vol1:
      driver: local

音量定义:

  • 名称:vol1
  • 配置:基本
  • 存储帐户:...
  • 存储容器:...
  • 安装泰铢:/ var / www / html / public