无法访问Azure上的Docker组成的Web应用程序

时间:2019-03-30 13:46:44

标签: azure flask redis docker-compose

我的应用程序在本地成功构建,在http://localhost:5000上运行可访问性,但在Azure上部署时却未运行:

version: '3'
services:
  redis:
    image: redis:alpine
    ports:
      - "6379:6379"

  web:
    build: .
    image: myappregistry.azurecr.io/myapp:latest
    ports:
      - "5000:5000"

在Azure上编写它似乎也可以:


2019-03-30 13:25:51.864 INFO  - Starting multi-container app, configuration = 
version: '3'
services:
  redis:
    image: "redis:alpine"
    ports:
      - "6379:6379"

  web:
    build: .
    image: myappregistry.azurecr.io/myapp:latest
    ports:
      - "5000:5000"

2019-03-30 13:25:54.668 INFO  - Issuing docker pull redis:alpine
2019-03-30 13:25:57.223 INFO  - docker pull returned STDOUT>> alpine: Pulling from library/redis
Digest: sha256:a228f66132cd46a53fd818443c42458af5d6a3e1231df25184304b8e732e51c4
Status: Image is up to date for redis:alpine

2019-03-30 13:25:57.245 INFO  - Starting container for site
2019-03-30 13:25:57.247 INFO  - docker run -d -p 19446:6379 --name myapp003_redis_0 -e WEBSITES_ENABLE_APP_SERVICE_STORAGE=false -e WEBSITES_PORT=5000 -e WEBSITE_SITE_NAME=myapp003 -e WEBSITE_AUTH_ENABLED=False -e WEBSITE_ROLE_INSTANCE_ID=0 -e WEBSITE_INSTANCE_ID=c04d15b1b0966eeeb73c65719c2b7ecac5f6223333efd04b1712f559b5660459 redis:alpine  

2019-03-30 13:25:57.249 INFO  - Logging is not enabled for this container.
Please use https://aka.ms/linux-diagnostics to enable logging to see container logs here.
2019-03-30 13:25:58.084 INFO  - Starting container for site
2019-03-30 13:25:58.086 INFO  - docker run -d -p 0:5000 --name myapp003_web_0 -e WEBSITES_ENABLE_APP_SERVICE_STORAGE=false -e WEBSITES_PORT=5000 -e WEBSITE_SITE_NAME=myapp003 -e WEBSITE_AUTH_ENABLED=False -e WEBSITE_ROLE_INSTANCE_ID=0 -e WEBSITE_INSTANCE_ID=c04d15b1b0966eeeb73c65719c2b7ecac5f6223333efd04b1712f559b5660459 myappregistry.azurecr.io/myapp:latest  

2019-03-30 13:25:58.088 INFO  - Logging is not enabled for this container.
Please use https://aka.ms/linux-diagnostics to enable logging to see container logs here.

但是,在https://myapp.azurewebsites.net/上访问它失败,并显示“ 502-Web服务器在充当网关或代理服务器时收到无效响应。”

请注意,在Azure Web应用程序的“应用程序设置”中,我设置了值

WEBSITES_PORT 5000

根据https://code.visualstudio.com/docs/python/tutorial-deploy-containers

任何想法可能出了什么问题吗?

1 个答案:

答案 0 :(得分:0)

我不是Azure方面的专家,但是与本地测试的docker-compose相比,您查看的日志中有很多更改: -Redis现在映射到19446而不是6379 -容器不再在同一网络上运行(以docker开头时,将它们置于同一网络上,但是不同的docker run命令的行为方式不同)

因此,您收到的错误可能是由于容器之间的通讯错误所致。尝试仅上传您的Web应用程序并访问静态页面。如果可行,则应重新访问如何从应用程序连接到Redis容器。