我的应用程序在本地成功构建,在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
任何想法可能出了什么问题吗?
答案 0 :(得分:0)
我不是Azure方面的专家,但是与本地测试的docker-compose相比,您查看的日志中有很多更改: -Redis现在映射到19446而不是6379 -容器不再在同一网络上运行(以docker开头时,将它们置于同一网络上,但是不同的docker run命令的行为方式不同)
因此,您收到的错误可能是由于容器之间的通讯错误所致。尝试仅上传您的Web应用程序并访问静态页面。如果可行,则应重新访问如何从应用程序连接到Redis容器。