#azure #flask #redis #docker-compose
#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 — Веб-сервер получил неверный ответ, действуя в качестве шлюза или прокси-сервера».
Обратите внимание, что в веб-приложении Azure «Настройки приложения» я установил значение
WEBSITES_PORT 5000
согласно https://code.visualstudio.com/docs/python/tutorial-deploy-containers
Есть идеи, что могло пойти не так?
Ответ №1:
Я не эксперт по Azure, но, просматривая опубликованный вами журнал, многое изменилось по сравнению с docker-compose, который вы тестировали локально: — redis теперь отображается на 19446 вместо 6379 — контейнеры больше не запускаются в одной сети (при запуске с помощью docker-compose они находятся в одной сети, но разные команды запуска docker действуют по-разному)
Таким образом, ошибка, которую вы получаете, может быть вызвана недопониманием между контейнерами. Попробуйте загрузить только свое веб-приложение и получить доступ к статической странице. Если это сработает, вам следует пересмотреть способ подключения к контейнеру redis из вашего приложения.